blob: 286c6fa91d95e8bbdda033099f63bdefc44be1c4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
|
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/games-fps/warsow/warsow-0.62.ebuild,v 1.1 2012/05/11 16:46:51 hasufell Exp $
EAPI=2
inherit eutils toolchain-funcs versionator games
MY_P=${PN}_${PV}
BASE_P=${PN}_0.61
DESCRIPTION="Multiplayer FPS based on the QFusion engine (evolved from Quake 2)"
HOMEPAGE="http://www.warsow.net/"
SRC_URI="http://www.zcdn.org/dl/${BASE_P}_unified.zip
http://www.zcdn.org/dl/${MY_P}_update.zip
http://www.zcdn.org/dl/${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="virtual/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? ( virtual/pkgconfig )"
DEPEND="${RDEPEND}
app-arch/unzip
x11-misc/makedepend
opengl? ( ${UIDEPEND} )
!opengl? ( !dedicated? ( ${UIDEPEND} ) )"
S=${WORKDIR}/source
src_unpack() {
unpack ${BASE_P}_unified.zip ${MY_P}_sdk.zip
cd ${BASE_P}_unified || die
unpack ${MY_P}_update.zip
}
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}"/${PN}-0.5-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}/${BASE_P}_unified"/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
}
|