# Copyright 1999-2006 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ inherit eutils games MY_PV=${PV/_/} S_PV=${MY_PV/./} F=${PN}_${MY_PV}_linux.tar.gz SDK=${PN}_${MY_PV}_sdk.zip DESCRIPTION="Multiplayer FPS based on the QFusion engine (evolved from Quake 2)" HOMEPAGE="http://www.warsow.net/" SRC_URI="ftp://ftp.club-internet.fr/pub/games/nofrag/${PN}/${F} ftp://ftp.club-internet.fr/pub/games/nofrag/${PN}/${SDK} http://warsow.as-mirror.net/${F} http://warsow.as-mirror.net/${SDK} ftp://ftp.grolier.fr/pub/games/nofrag/${PN}/${F} ftp://ftp.multiplay.co.uk/pub/games/fps/${PN}/game/linux/${F} http://turkeyfiles.escapedturkey.net/${PN}/versions/${F} http://turkeyfiles.escapedturkey.net/${PN}/versions/${SDK} http://kenh.rxvt.net/${F} http://www.gizmo.fi/${PN}/${F} http://www.gizmo.fi/${PN}/${SDK} http://k3rn.com/files/${F}" LICENSE="GPL-2" SLOT="0" KEYWORDS="~amd64 ~x86" IUSE="dedicated sdl" UIRDEPEND="media-libs/jpeg net-misc/curl >=media-libs/libsdl-1.2.8-r1 >=media-libs/sdl-sound-1.0.1-r1 virtual/opengl || ( ( x11-libs/libX11 x11-libs/libXau x11-libs/libXdmcp x11-libs/libXext ) virtual/x11 )" UIDEPEND="|| ( ( x11-proto/xf86dgaproto x11-proto/xf86vidmodeproto ) virtual/x11 )" RDEPEND="sdl? ( ${UIRDEPEND} ) !sdl? ( !dedicated? ( ${UIRDEPEND} ) )" DEPEND="${RDEPEND} sdl? ( ${UIDEPEND} ) !sdl? ( !dedicated? ( ${UIDEPEND} ) ) !games-fps/warsow-bin app-arch/unzip" S=${WORKDIR}/source SDATA=${WORKDIR}/${PN} dir=${GAMES_DATADIR}/${PN} libdir=${GAMES_LIBDIR}/${PN} src_unpack() { unpack ${A} cd "${S}" # Make fs_usehomedir default to 1, so the game will write to ~/.warsow/ # Make fs_basepath default to correct path. # Add libdir as game directory. sed -i qcommon/files.c \ -e 's:"fs_usehomedir", "0":"fs_usehomedir", "1":' \ -e "s:\"fs_basepath\", \"\.\":\"fs_basepath\", \"${dir}\":" \ || die "sed files.c failed" # Remove pre-compiled binaries, because they are compiled in src_compile() rm "${SDATA}"/{${PN}{,.x86_64},wswBrowser,wsw_server{,.x86_64}} # Remove pre-compiled libraries, because they are compiled in src_compile() rm -r "${SDATA}"/{basewsw/*.so,release/*} # Remove copy of licence. rm "${SDATA}"/docs/gnu.txt # Move docs to a convenient directory, away from the files to be installed. mv "${SDATA}"/docs "${S}" } src_compile() { local makeopts="game" # Version 0.12 has a buggy BASE_ARCH= line in Makefile. use x86 && makeopts="${makeopts} BASE_ARCH=i386" if use sdl || ! use dedicated ; then # Compile client. makeopts="${makeopts} client cgame ui" fi if use dedicated ; then # Compile server. makeopts="${makeopts} ded" fi emake \ BINDIR=release \ SERVER_EXE=wsw_server \ CLIENT_EXE=${PN} \ ${makeopts} \ || die "emake failed" mv release/basewsw/*.so "${WORKDIR}" cp -rf release/basewsw "${SDATA}" || die "cp basewsw failed" } src_install() { cd "${SDATA}" if use sdl || ! use dedicated ; then # Install client-only components. dogamesbin "${S}/release/${PN}" \ || die "dogamesbin ${PN} failed" make_desktop_entry ${PN} "Warsow" fi if use dedicated ; then # Install server-only components. dogamesbin "${S}/release/wsw_server" \ || die "dogamesbin wsw_server failed" fi # Install common components. insinto "${dir}" doins -r * || die "doins -r failed" # Libraries. exeinto "${libdir}"/basewsw local lib for lib in $(cd "${WORKDIR}" && ls -A *.so) ; do doexe "${WORKDIR}/${lib}" || die "doexe ${lib} failed" dosym "${libdir}/basewsw/${lib}" "${dir}"/basewsw done dodoc "${S}"/docs/* prepgamesdirs }