diff options
Diffstat (limited to 'games-simulation/openttd/openttd-0.6.0.ebuild')
-rw-r--r-- | games-simulation/openttd/openttd-0.6.0.ebuild | 193 |
1 files changed, 193 insertions, 0 deletions
diff --git a/games-simulation/openttd/openttd-0.6.0.ebuild b/games-simulation/openttd/openttd-0.6.0.ebuild new file mode 100644 index 0000000..f76aa3b --- /dev/null +++ b/games-simulation/openttd/openttd-0.6.0.ebuild @@ -0,0 +1,193 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/games-simulation/openttd/openttd-0.5.3.ebuild,v 1.3 2007/10/20 18:59:16 pylon Exp $ + +inherit eutils games + +SCENARIOS_048="${PN}-0.4.8-scenarios.tar.bz2" +SCENARIOS_050="${PN}-0.5.0-scenarios.tar.bz2" + +DESCRIPTION="OpenTTD is a clone of Transport Tycoon Deluxe" +HOMEPAGE="http://www.openttd.com/" +SB="mirror://sourceforge/openttd" +SRC_URI="${SB}/${P}-source.tar.bz2 + scenarios? ( ${SB}/${SCENARIOS_048} + ${SB}/${SCENARIOS_050} )" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86" +IUSE="alsa debug dedicated iconv png scenarios static timidity zlib" + +DEPEND="!dedicated? ( media-libs/libsdl + media-libs/fontconfig + ) + iconv? ( virtual/libiconv ) + png? ( media-libs/libpng ) + zlib? ( sys-libs/zlib )" +RDEPEND="${DEPEND} + !dedicated? ( + timidity? ( media-sound/timidity++ ) + !timidity? ( alsa? ( media-sound/alsa-utils ) ) + )" + +pkg_setup() { + if ! use dedicated && ! built_with_use media-libs/libsdl X ; then + die "Please emerge media-libs/libsdl with USE=X" + fi + games_pkg_setup +} + +src_unpack() { + unpack ${P}-source.tar.bz2 + if use scenarios ; then + cd "${S}"/bin/scenario/ + unpack ${SCENARIOS_048} + unpack ${SCENARIOS_050} + fi + cd "${S}" + + epatch "${FILESDIR}/libiconv.patch" +} + +src_compile() { + local myopts="" + use debug && myopts="${myopts} --debug" + use dedicated && myopts="${myopts} --enable-dedicated --without-sdl" + if ! use dedicated; then + myopts="${myopts} --with-sdl --with-freetype --with-fontconfig" + if ! use timidity; then + #use alsa && myopts="${myopts} --with-midi=/usr/bin/aplaymidi" + einfo "This version of openttd does not support setting the midi-player." + fi + fi + # configure is a hand-written sh-script, so econf will not work + ./configure --os=UNIX --shared-dir="${GAMES_DATADIR}"/${PN}/ \ + $(use_enable static) \ + $(use_with iconv) \ + $(use_with png) \ + $(use_with zlib) \ + ${myopts} \ + || die "configure failed" + + emake \ + MANUAL_CONFIG=1 \ + INSTALL=1 \ + USE_HOMEDIR=1 \ + DEST_DIR="${D}" \ + PERSONAL_DIR=.openttd \ + PREFIX="${GAMES_PREFIX}" \ + INSTALL_DATA_DIR="${GAMES_DATADIR}"/${PN}/ \ + || die "emake failed" + +# DATA_DIR="${GAMES_DATADIR}"/${PN} \ +# CUSTOM_LANG_DIR="${GAMES_DATADIR}"/${PN}/lang \ + +} + +src_install() { + dogamesbin bin/openttd || die "dogamesbin failed" + + insinto "${GAMES_DATADIR}"/${PN}/data + doins bin/data/* || die "doins failed (data)" + + insinto "${GAMES_DATADIR}"/${PN}/lang + doins bin/lang/*.lng || die "doins failed (lang)" + + if use scenarios ; then + insinto "${GAMES_DATADIR}"/${PN}/scenario + doins bin/scenario/*.scn || die "doins failed (scenario)" + doins bin/scenario/*/*.scn || die "doins failed (scenario)" + fi + + insinto "${GAMES_DATADIR}"/${PN}/scripts + doins bin/scripts/*.example || die "doins failed (scripts)" + + for i in {16,32,48,64,128}; do + insinto /usr/share/icons/hicolor/${i}x${i}/apps + newins media/openttd.${i}.png openttd.png + done + + if ! use dedicated ; then + if use timidity || use alsa ; then + make_desktop_entry "openttd -m extmidi" "OpenTTD" openttd + else + make_desktop_entry openttd "OpenTTD" openttd + fi + else + newinitd "${FILESDIR}"/openttd.initd openttd + fi + + dodoc readme.txt known-bugs.txt changelog.txt docs/Manual.txt \ + docs/multiplayer.txt + dohtml -a html,gif,png,svg docs/* + newdoc scripts/readme.txt readme_scripts.txt + doman docs/openttd.6 + prepgamesdirs +} + +pkg_postinst() { + games_pkg_postinst + + echo + einfo "In order to play, you must copy the following 6 files from " + einfo "a version of TTD to ${GAMES_DATADIR}/${PN}/data/." + echo + einfo "From the WINDOWS version you need: " + einfo " sample.cat trg1r.grf trgcr.grf trghr.grf trgir.grf trgtr.grf" + einfo "OR from the DOS version you need: " + einfo " SAMPLE.CAT TRG1.GRF TRGC.GRF TRGH.GRF TRGI.GRF TRGT.GRF" + echo + einfo "File names are case sensitive so make sure they are " + einfo "correct for whichever version you have." + echo + + if ! use scenarios ; then + einfo "Scenarios are now included in a seperate package. To " + einfo "install them as well please remerge with the " + einfo "\"scenarios\" USE flag." + echo + else + einfo "Scenarios are installed to" + einfo "${GAMES_DATADIR}/${PN}/scenario," + einfo "you will have to symlink them to ~/.openttd/scenario in order" + einfo "to use them." + einfo "Example:" + einfo " mkdir -p ~/.openttd/scenario" + einfo " ln -s ${GAMES_DATADIR}/${PN}/scenario/* ~/.openttd/scenario/" + echo + fi + + if use dedicated ; then + einfo "You have chosen the dedicated USE flag which builds a " + einfo "version of OpenTTD to be used as a game server which " + einfo "does not require SDL. You will not be able to play the " + einfo "game, but if you don't pass this flag you can still use " + einfo "it as a server in the same way, but SDL will be required." + echo + ewarn "Warning: The init script will kill all running openttd" + ewarn "processes when run, including any running client sessions!" + echo + else + if use timidity || use alsa ; then + einfo "If you want music, you must copy the gm/ directory to" + einfo "${GAMES_DATADIR}/${PN}/" + einfo "You can enable MIDI by running:" + einfo " openttd -m extmidi" + echo + if use timidity ; then + einfo "You also need soundfonts for timidity, if you don't" + einfo "know what that is, do:" + echo + einfo "emerge media-sound/timidity-eawpatches" + else + einfo "You have emerged with 'aplaymidi' for playing MIDI." + einfo "You have to set the environment variable ALSA_OUTPUT_PORTS." + einfo "Available ports can be listed by using 'aplaymidi -l'." + fi + else + einfo "timidity and/or alsa not in USE so music will not be played during the game." + fi + echo + fi +} |