summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /games-simulation/openttd
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'games-simulation/openttd')
-rw-r--r--games-simulation/openttd/Manifest1
-rw-r--r--games-simulation/openttd/files/openttd-1.5.0-cflags.patch42
-rwxr-xr-xgames-simulation/openttd/files/openttd.initd20
-rw-r--r--games-simulation/openttd/metadata.xml12
-rw-r--r--games-simulation/openttd/openttd-1.5.0.ebuild177
5 files changed, 252 insertions, 0 deletions
diff --git a/games-simulation/openttd/Manifest b/games-simulation/openttd/Manifest
new file mode 100644
index 00000000000..056f59ab067
--- /dev/null
+++ b/games-simulation/openttd/Manifest
@@ -0,0 +1 @@
+DIST openttd-1.5.0-source.tar.gz 10018865 SHA256 4c357205a63a475001a13e4ade59a73635e2f0c480ad097f4d7f03d2ae290ee0 SHA512 c2459165bd8f957d56d4171361237e6de42221f7b8c02f98503e2225a81fd496f10da9d9c60335edb981f86c4c4ce45fafc9edf43ea38a94b84f67136a17a165 WHIRLPOOL 88a15852d1ae01f7a03ea1bcc929bcdf450265a81462aa5316d2e16e86b79167d04503a83bc231eb411d159b70073c650db6e5604adbf07eccda43a193af3e20
diff --git a/games-simulation/openttd/files/openttd-1.5.0-cflags.patch b/games-simulation/openttd/files/openttd-1.5.0-cflags.patch
new file mode 100644
index 00000000000..bb7f768b379
--- /dev/null
+++ b/games-simulation/openttd/files/openttd-1.5.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 100755
index 00000000000..629f1857c25
--- /dev/null
+++ b/games-simulation/openttd/files/openttd.initd
@@ -0,0 +1,20 @@
+#!/sbin/runscript
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License, v2 or later
+# $Id$
+
+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/metadata.xml b/games-simulation/openttd/metadata.xml
new file mode 100644
index 00000000000..03167938664
--- /dev/null
+++ b/games-simulation/openttd/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <use>
+ <flag name='aplaymidi'>Enables midi music in game, using aplaymidi as an external player</flag>
+
+ <flag name='openmedia'>Enables the free open media sets: OpenGFX, OpenSFX, OpenMSX, removing the requirement for proprietary TTD assets to play OpenTTD.</flag>
+ <flag name='lzo'>Enables LZO compression for savegames. This is only needed to load extremely old savegames. (versions before 0.2)</flag>
+ <flag name='dedicated'>Build only the openttd server, and not the client.</flag>
+ </use>
+</pkgmetadata>
diff --git a/games-simulation/openttd/openttd-1.5.0.ebuild b/games-simulation/openttd/openttd-1.5.0.ebuild
new file mode 100644
index 00000000000..cb4fe056c13
--- /dev/null
+++ b/games-simulation/openttd/openttd-1.5.0.ebuild
@@ -0,0 +1,177 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils gnome2-utils games
+
+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 ~ppc ~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:= )
+ 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 )"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-cflags.patch
+ sed -i \
+ -e '/Keywords/s/$/;/' \
+ media/openttd.desktop.in || die
+}
+
+src_configure() {
+ # 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}" \
+ --binary-dir="${GAMES_BINDIR}" \
+ --data-dir="${GAMES_DATADIR}/${PN}" \
+ --install-dir="${D}" \
+ --icon-dir=/usr/share/pixmaps \
+ --menu-dir=/usr/share/applications \
+ --icon-theme-dir=/usr/share/icons/hicolor \
+ --man-dir=/usr/share/man/man6 \
+ --doc-dir=/usr/share/doc/${PF} \
+ --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 ${PN}
+ rm -rf "${ED}"/usr/share/{applications,icons,pixmaps}
+ fi
+ rm -f "${ED}"/usr/share/doc/${PF}/COPYING
+ prepgamesdirs
+}
+
+pkg_preinst() {
+ games_pkg_preinst
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ gnome2_icon_cache_update
+ games_pkg_postinst
+
+ 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
+}