# Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ inherit eutils games MY_PV="2005_08_15_quakecon_edition" MY_P="${PN}_${MY_PV}" DESCRIPTION="Landscape-style engine that pretends to be an indoor first person shooter engine" HOMEPAGE="http://cubeengine.com" SRC_URI="mirror://sourceforge/sauerbraten/${MY_P}.zip" LICENSE="ZLIB" SLOT="0" KEYWORDS="x86" IUSE="" RDEPEND="virtual/opengl virtual/glu media-libs/libsdl media-libs/sdl-mixer media-libs/sdl-image sys-libs/zlib media-libs/libpng" DEPEND="${RDEPEND} app-arch/unzip >=sys-apps/sed-4" S=${WORKDIR}/${PN} CUBE_DATADIR=${GAMES_DATADIR}/${PN}/ src_unpack() { unpack ${A} find . -name CVS -type d | xargs rm -r cd "${S}/src" epatch "${FILESDIR}"/${PV}-gentoo-paths.patch echo "#define GAMES_DATADIR \"${CUBE_DATADIR}\"" >> shared/tools.h echo "#define GAMES_DATADIR_LEN ${#CUBE_DATADIR}" >> shared/tools.h sed -i \ -e "s:packages/:${CUBE_DATADIR}packages/:" \ engine/command.cpp engine/rendermd2.cpp engine/rendertext.cpp \ engine/sound.cpp engine/worldio.cpp\ || die "sed failed" # enable parallel make sed -i \ -e 's/make -C/$(MAKE) -C/' \ Makefile \ || die "sed failed (Makefile)" chmod a+x "${S}"/enet/configure } src_compile() { cd enet egamesconf || die "egamesconf failed" emake || die "emake failed" cd ../src einfo "Compiling in $(pwd)" emake CXXOPTFLAGS="-DHAS_SOCKLEN_T=1 -fpermissive ${CXXFLAGS}" \ || die "emake failed" } src_install() { dogamesbin src/sauer_{client,server} || die "dogamesbin failed" cd ${WORKDIR}/${PN} insinto "${GAMES_DATADIR}"/${PN} doins -r sauerbraten/*.cfg sauerbraten/data sauerbraten/packages || die "doins failed" dodoc ${S}/src/CUBE_TODO.txt || die "dodoc failed" dohtml -r docs readme.html || die "dohtml failed" if use x86 ; then exeinto "${GAMES_BINDIR}" newexe sauerbraten/bin_unix/linux_server sauer_server-bin \ || die "newexe failed (server)" exeinto "${GAMES_LIBDIR}"/${PN} newexe sauerbraten/bin_unix/linux_client sauer_client-bin \ || die "newexe failed (client)" games_make_wrapper sauer_client-bin \ "${GAMES_LIBDIR}"/$PN/sauer_client-bin "$GAMES_DATADIR"/$PN \ || die "games_make_wrapper failed" make_desktop_entry sauer_client-bin "sauer_client-bin" fi make_desktop_entry sauer_client "sauer_client" prepgamesdirs } pkg_postinst() { games_pkg_postinst if use x86 ; then einfo "You now have 2 clients and 2 servers:" einfo "sauer_client-bin prebuilt version (needed to play on public multiplayer servers)" einfo "sauer_client custom client built from source" einfo "Parallel versions of the server have been installed" fi }