# Copyright 1999-2007 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ inherit eutils games DESCRIPTION="3D light cycles like in the movie TRON" HOMEPAGE="http://armagetronad.net/" OPT_CLIENTSRC="moviesounds? ( http://beta.armagetronad.net/fetch.php/PreResource/moviesounds_fq.zip linguas_es? ( http://beta.armagetronad.net/fetch.php/PreResource/spanishvoices.zip ) ) moviepack? ( http://beta.armagetronad.net/fetch.php/PreResource/moviepack.zip )" SRC_URI="mirror://sourceforge/armagetronad/${P}.src.tar.bz2 client? ( ${OPT_CLIENTSRC} ) !dedicated? ( ${OPT_CLIENTSRC} )" LICENSE="GPL-2" SLOT="0" KEYWORDS="~amd64 ~ppc ~sparc ~x86" IUSE="client debug dedicated linguas_es linguas_en moviepack moviesounds music" # FIXME: Is there actually music? CLIENTRDEPS="x11-libs/libX11 virtual/glu virtual/opengl media-libs/libsdl media-libs/sdl-image music? ( media-libs/sdl-mixer ) media-libs/jpeg media-libs/libpng" RDEPEND=">=dev-libs/libxml2-2.6.11 sys-libs/zlib client? ( ${CLIENTRDEPS} ) !dedicated? ( ${CLIENTRDEPS} )" CLIENTDEPS="moviepack? ( app-arch/unzip ) moviesounds? ( app-arch/unzip )" DEPEND="${RDEPEND} client? ( ${CLIENTDEPS} ) !dedicated? ( ${CLIENTDEPS} )" pkg_setup() { if use linguas_es && use linguas_en ; then ewarn "You have both linguas_es and linguas_en enabled," ewarn "installation will default to Spanish voices" ewarn "if you want English voices, please disable linguas_en." fi games_pkg_setup } src_unpack() { #XXX: src_unpack() could beremoved if we remove # uninstall scripts on src_install or if --disable-uninstall works unpack ${A} cd "${S}" epatch "${FILESDIR}/${P}-uninstaller-stuff.patch" } aabuild() { local mybuilddir="${WORKDIR}/build-$1" mkdir -p "${mybuilddir}" || die "error creating build directory($1)" cd "${mybuilddir}" use debug && DEBUGLEVEL=3 || DEBUGLEVEL=0 export DEBUGLEVEL CODELEVEL=0 ECONF_SOURCE="${S}" \ egamesconf \ $(use_enable music) \ --disable-binreloc \ --disable-master \ --enable-main \ --disable-krawall \ --enable-sysinstall \ --disable-useradd \ --enable-etc \ --disable-restoreold \ --disable-games \ --disable-uninstall \ "${@:2}" || die "egamesconf ($1) failed" emake armabindir="${GAMES_BINDIR}" || die "emake ($1) failed" } src_compile() { # Assume client if they don't want a server use client || ! use dedicated && build_client=true || build_client=false use dedicated && build_server=true || build_server=false if ${build_client} ; then einfo "Building game client" aabuild client --enable-glout --disable-initscripts --enable-desktop fi if ${build_server} ; then einfo "Building dedicated server" aabuild server --disable-glout --enable-initscripts --disable-desktop fi } src_install() { if ${build_client} && ${build_server} ; then # Setup symlink so both client and server share their common data dodir "${GAMES_DATADIR}" dosym "${PN}" "${GAMES_DATADIR}/${PN}-dedicated" dodir "${GAMES_SYSCONFDIR}" dosym "${PN}" "${GAMES_SYSCONFDIR}/${PN}-dedicated" fi if ${build_client} ; then einfo "Installing game client" cd "${WORKDIR}/build-client" emake DESTDIR="${D}" install || die "emake (client) install failed" # copy moviepacks/sounds cd "${WORKDIR}" insinto "${GAMES_DATADIR}/${PN}" use moviepack && ( doins -r moviepack || \ die "copying moviepack failed" ) if use moviesounds ; then doins -r moviesounds || die "copying moviesounds failed" use linguas_es && ( doins -r ArmageTRON/moviesounds || \ die "copying spanish moviesounds failed" ) fi fi if ${build_server} ; then einfo "Installing dedicated server" cd "${WORKDIR}/build-server" emake DESTDIR="${D}" install || die "emake (server) install failed" einfo 'Adjusting dedicated server configuration' dosed "s,^\(user=\).*$,\1${GAMES_USER_DED},; s,^#\(VARDIR=/.*\)$,\\1," "${GAMES_SYSCONFDIR}/${PN}-dedicated/rc.config" || ewarn 'adjustments for rc.config FAILED; the defaults may not be suited for your system!' newconfd "${FILESDIR}/${PN}-0.2-confd" ${PN}-dedicated newinitd "${FILESDIR}/${PN}-0.2-initd" ${PN}-dedicated fi cd "${S}" rm -r "${D}/usr/share/games/doc" dohtml src/doc/*html docinto html/net dohtml src/doc/net/*html docinto Content_Creation/ dodoc src/doc/Content_Creation/*.txt #FIXME: Icon and desktop entry # doicon desktop/icons/small/${PN}.png # insinto /usr/share/applications # doins desktop/${PN}.desktop #or # make_desktop_entry ${PN} "Armagetron Advanced" ${PN}.png # Remove unuseful stuff rm -r "${D}/etc/init.d/${PN}-dedicated-${PV}" \ "${D}${GAME_DATADIR}/${PN}/scripts" prepgamesdirs }