blob: fbd48f62ccc10b6df8ed03bfa713c9bd225c46f5 [file] [log] [blame]
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/games-fps/warsow/warsow-0.5-r1.ebuild,v 1.5 2010/02/15 20:52:14 ssuominen Exp $
EAPI=2
inherit eutils toolchain-funcs versionator games
MY_P=${PN}_${PV}
DESCRIPTION="Multiplayer FPS based on the QFusion engine (evolved from Quake 2)"
HOMEPAGE="http://www.warsow.net/"
SRC_URI="http://static.warsow.net/release/${MY_P}_unified.zip
http://static.warsow.net/release/${MY_P}_sdk.zip
mirror://gentoo/${PN}.png"
LICENSE="GPL-2 warsow"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="+angelscript debug dedicated irc openal opengl"
UIRDEPEND="media-libs/jpeg
media-libs/libvorbis
media-libs/libsdl
virtual/opengl
x11-libs/libXinerama
x11-libs/libXxf86dga
x11-libs/libXxf86vm
openal? ( media-libs/openal )"
RDEPEND="net-misc/curl
opengl? ( ${UIRDEPEND} )
!opengl? ( !dedicated? ( ${UIRDEPEND} ) )"
UIDEPEND="x11-proto/xineramaproto
x11-proto/xf86dgaproto
x11-proto/xf86vidmodeproto
openal? ( dev-util/pkgconfig )"
DEPEND="${RDEPEND}
app-arch/unzip
x11-misc/makedepend
opengl? ( ${UIDEPEND} )
!opengl? ( !dedicated? ( ${UIDEPEND} ) )"
S=${WORKDIR}/source
src_prepare() {
sed -i \
-e "/fs_basepath =/ s:\.:${GAMES_DATADIR}/${PN}:" \
qcommon/files.c \
|| die "sed files.c failed"
sed -i \
-e "s:jpeg_mem_src:_&:" \
ref_gl/r_image.c || die
cd "${WORKDIR}"
rm -rf docs/old
epatch \
"${FILESDIR}"/${P}-build.patch \
"${FILESDIR}"/${P}-openal.patch \
"${FILESDIR}"/${P}-pic.patch
}
src_compile() {
yesno() { use ${1} && echo YES || echo NO ; }
local client="NO" irc="NO" openal="NO"
if use opengl || ! use dedicated ; then
client="YES"
use irc && irc="YES"
use openal && openal="YES"
fi
if use angelscript ; then
tc-export AR RANLIB
emake \
-C ../libsrcs/angelscript/angelSVN/sdk/angelscript/projects/gnuc \
|| die "emake angelscript failed"
fi
local arch
if use amd64 ; then
arch=x86_64
elif use x86 ; then
arch=i386
fi
emake \
BASE_ARCH=${arch} \
BINDIR=bin \
BUILD_CLIENT=${client} \
BUILD_SERVER=$(yesno dedicated) \
BUILD_TV_SERVER=$(yesno dedicated) \
BUILD_ANGELWRAP=$(yesno angelscript) \
BUILD_IRC=${irc} \
BUILD_SND_OPENAL=${openal} \
BUILD_SND_QF=${client} \
DEBUG_BUILD=$(yesno debug) \
|| die "emake failed"
}
src_install() {
cd bin
if use opengl || ! use dedicated ; then
newgamesbin ${PN}.* ${PN} || die "newgamesbin ${PN} failed"
doicon "${DISTDIR}"/${PN}.png
make_desktop_entry ${PN} Warsow
fi
if use dedicated ; then
newgamesbin wsw_server.* ${PN}-ded || die "newgamesbin ${PN}-ded failed"
newgamesbin wswtv_server.* ${PN}-tv || die "newgamesbin ${PN}-tv failed"
fi
exeinto "$(games_get_libdir)"/${PN}
doexe */*.so || die "doexe failed"
insinto "${GAMES_DATADIR}"/${PN}
doins -r "${WORKDIR}"/basewsw || die "doins failed"
local so
for so in basewsw/*.so ; do
dosym "$(games_get_libdir)"/${PN}/${so##*/} \
"${GAMES_DATADIR}"/${PN}/${so} || die "dosym ${so} failed"
done
if [[ -e libs ]] ; then
dodir "${GAMES_DATADIR}"/${PN}/libs
for so in libs/*.so ; do
dosym "$(games_get_libdir)"/${PN}/${so##*/} \
"${GAMES_DATADIR}"/${PN}/${so} || die "dosym ${so} failed"
done
fi
dodoc "${WORKDIR}"/docs/*
prepgamesdirs
}