diff options
Diffstat (limited to 'games-strategy/freeciv/files/freeciv-20050430.ebuild')
-rw-r--r-- | games-strategy/freeciv/files/freeciv-20050430.ebuild | 163 |
1 files changed, 163 insertions, 0 deletions
diff --git a/games-strategy/freeciv/files/freeciv-20050430.ebuild b/games-strategy/freeciv/files/freeciv-20050430.ebuild new file mode 100644 index 0000000..4c44e02 --- /dev/null +++ b/games-strategy/freeciv/files/freeciv-20050430.ebuild @@ -0,0 +1,163 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit games + +MY_P=${PN}-cvs-Apr-${PV:6:2} +S=${WORKDIR}/${MY_P} +DESCRIPTION="multiplayer strategy game (Civilization Clone)" +HOMEPAGE="http://www.freeciv.org/" +SRC_URI="ftp://ftp.freeciv.org/pub/freeciv/latest/${MY_P}.tar.bz2 + !dedicated? ( + alsa? ( http://www.freeciv.org/ftp/contrib/sounds/sets/stdsounds2.tar.gz ) + esd? ( http://www.freeciv.org/ftp/contrib/sounds/sets/stdsounds2.tar.gz ) + sdl? ( http://www.freeciv.org/ftp/contrib/sounds/sets/stdsounds2.tar.gz ) + )" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~ppc ~x86" +IUSE="Xaw3d gtk gtk2 nls readline dedicated alsa esd sdl" + +RDEPEND="sys-libs/zlib + readline? ( sys-libs/readline ) + !dedicated? ( + virtual/x11 + !gtk? ( Xaw3d? ( x11-libs/Xaw3d ) ) + gtk? ( + gtk2? ( + >=x11-libs/gtk+-2.0.0 + >=dev-libs/glib-2.0.0 + >=dev-libs/atk-1.0.3 + >=x11-libs/pango-1.0.5 + ) + !gtk2? ( + =x11-libs/gtk+-1* + >=dev-libs/glib-1.2.5 + >=media-libs/imlib-1.9.2 + ) + ) + alsa? ( + >=media-libs/alsa-lib-1.0 + >=media-libs/audiofile-0.2 + ) + esd? ( >=media-sound/esound-0.2 ) + sdl? ( + >=media-libs/sdl-mixer-1.2 + >=media-libs/libsdl-1.2 + ) + )" +DEPEND="${RDEPEND} + nls? ( sys-devel/gettext ) + >=sys-apps/sed-4" + + +pkg_setup() { + if use '!dedicated' ; then + if use gtk && use gtk2 ; then + einfo "The Freeciv Client will be built with the GTK+-2 toolkit" + elif use gtk ; then + einfo "The Freeciv Client will be built with the GTK+-1.2 toolkit" + elif use Xaw3d ; then + einfo "The Freeciv Client will be built with the Xaw3d toolkit" + else + einfo "The Freeciv Client will be built with the Xaw toolkit" + fi + if use '!esd' && use '!alsa' && use '!sdl' ; then + ewarn "" + ewarn "To enable sound support in civclient, you must enable" + ewarn "at least one of this USE flags: alsa, esd, sdl" + ewarn "" + fi + fi +} + +src_unpack() { + unpack ${A} + + # install locales in /usr/share/locale + sed -i 's:^\(localedir = \).*:\1/usr/share/locale:' \ + ${S}/intl/Makefile.in ${S}/po/Makefile.in.in || die "sed failed" + sed -i '/^#define LOCALEDIR/s:".*":"/usr/share/locale":' \ + ${S}/configure || die "sed failed" + + # install the .desktop in /usr/share/applications + sed -i 's:^\(desktopfiledir = \).*:\1/usr/share/applications:' \ + ${S}/client/Makefile.in || die "sed failed" + + # remove civclient manpage if dedicated server + use dedicated && { + sed -i '/man_MANS = /s:civclient.6::' \ + ${S}/doc/man/Makefile.in || die "sed failed" + } +} + +src_compile() { + # Configure the client toolkit + local myclient="xaw" + use Xaw3d && myclient="xaw3d" + if use gtk ; then + use gtk2 \ + && myclient="gtk-2.0" \ + || myclient="gtk" + fi + use dedicated && myclient="no" + + # Configure the sound plugins + local mysoundconf + if use dedicated ; then + mysoundconf="--disable-alsa --disable-esd --disable-sdl-mixer" + else + #XXX --enable-{alsa,esd,sdl-mixer} actually disable them... + #XXX ==> use --disable-* only, and autodetect to enable. + #XXX mysoundconf="${mysoundconf} $(use_enable alsa)" + use alsa || mysoundconf="${mysoundconf} --disable-alsa" + #XXX mysoundconf="${mysoundconf} $(use_enable esd)" + use esd || mysoundconf="${mysoundconf} --disable-esd" + #XXX mysoundconf="${mysoundconf} $(use_enable sdl sdl-mixer)" + use sdl || mysoundconf="${mysoundconf} --disable-sdl-mixer" + fi + + egamesconf \ + --disable-dependency-tracking \ + --with-zlib \ + $(use_with readline) \ + $(use_enable nls) \ + --enable-client=${myclient} \ + ${mysoundconf} \ + || die "egamesconf failed" + + emake || die "emake failed" +} + +src_install() { + make DESTDIR="${D}" install || die "make install failed" + + if use '!dedicated' ; then + # Install the app-defaults if Xaw/Xaw3d toolkit + if use '!gtk'; then + insinto /etc/X11/app-defaults + doins data/Freeciv || die "doins failed" + fi + # Install sounds if at least one sound plugin was built + if use alsa || use esd || use sdl ; then + cp -R ../stdsounds* ${D}${GAMES_DATADIR}/${PN} \ + || die "failed to install sounds" + fi + # Create and install the html manual. It can't be done for dedicated + # servers, because the 'civmanual' tool is then not built. Also + # delete civmanual from the GAMES_BINDIR, because it's then useless. + # Note: to have it localized, it should be ran from _postinst, or + # something like that, but then it's a PITA to avoid orphan files... + ./manual/civmanual || die "civmanual failed" + dohtml manual*.html || die "dohtml failed" + rm -f ${D}/${GAMES_BINDIR}/civmanual + fi + + dodoc ChangeLog INSTALL NEWS \ + doc/{BUGS,CodingStyle,HACKING,HOWTOPLAY,PEOPLE,README*,TODO} \ + || die "dodoc failed" + + prepgamesdirs +} |