blob: 3698a4eaffeec20002522e590f9046c8fcaf6265 (
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
|
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/games-fps/quake4-bin/quake4-bin-1.4.2.ebuild,v 1.2 2007/08/20 17:23:52 wolf31o2 Exp $
inherit eutils games
DESCRIPTION="Sequel to Quake 2, an id Software 3D first-person shooter"
HOMEPAGE="http://www.quake4game.com/"
SRC_URI="mirror://idsoftware/quake4/linux/quake4-linux-${PV}.x86.run"
LICENSE="QUAKE4"
SLOT="0"
KEYWORDS="-* ~amd64 ~x86"
IUSE="alsa cdinstall dedicated linguas_cs linguas_fr linguas_it linguas_pl linguas_ru opengl"
RESTRICT="strip"
UIDEPEND="virtual/opengl
x86? (
x11-libs/libXext
x11-libs/libX11
x11-libs/libXau
x11-libs/libXdmcp
media-libs/libsdl )
amd64? (
app-emulation/emul-linux-x86-compat
app-emulation/emul-linux-x86-sdl
app-emulation/emul-linux-x86-xlibs
|| (
>=app-emulation/emul-linux-x86-xlibs-7.0
x11-drivers/nvidia-drivers
>=x11-drivers/ati-drivers-8.8.25-r1 ) )
alsa? ( >=media-libs/alsa-lib-1.0.6 )"
RDEPEND="sys-libs/glibc
dedicated? ( app-misc/screen )
amd64? ( app-emulation/emul-linux-x86-baselibs )
opengl? ( ${UIDEPEND} )
cdinstall? ( games-fps/quake4-data )
!dedicated? ( !opengl? ( ${UIDEPEND} ) )"
S=${WORKDIR}
dir=${GAMES_PREFIX_OPT}/quake4
Ddir=${D}/${dir}
GAMES_CHECK_LICENSE="yes"
QA_TEXTRELS="${dir:1}/pb/pbag.so
${dir:1}/pb/pbags.so
${dir:1}/pb/pbcl.so
${dir:1}/pb/pbcls.so
${dir:1}/pb/pbsv.so
${dir:1}/libSDL-1.2.id.so.0"
QA_EXECSTACK="${dir:1}/quake4.x86
${dir:1}/quake4smp.x86
${dir:1}/q4ded.x86
${dir:1}/libgcc_s.so.1
${dir:1}/libSDL-1.2.id.so.0
${dir:1}/libstdc++.so.6"
zpaklang() {
if ! use linguas_${1} ; then
einfo "Removing ${2} zpak files"
rm -f q4base/zpak_${2}*
fi
}
src_unpack() {
unpack_makeself ${A}
mv q4icon.bmp quake4.bmp || die
# Am including the Spanish files because Spanish is the default language
#zpaklang es spanish
zpaklang cs czech
zpaklang fr french
zpaklang it italian
zpaklang pl polish
zpaklang ru russian
# Rename the .off files, so they will be used
cd q4base
if [[ ! -z $(ls *.off 2> /dev/null) ]] ; then
local f
for f in *.off ; do
einfo "Renaming ${f}"
mv "${f}" "${f%.off}" || die "mv ${f}"
done
fi
}
src_install() {
insinto "${dir}"
doins *.{htm,txt} README us/version.info || die "docs"
doins -r pb q4mp || die "doins pb q4mp"
exeinto "${dir}"
doexe openurl.sh || die "openurl.sh"
doexe bin/Linux/x86/{quake4{,smp}.x86,q4ded.x86,*.so.?} \
|| die "doexe x86 exes/libs"
insinto "${dir}"/q4base
doins q4base/* us/q4base/* || die "doins q4base"
if use dedicated ; then
games_make_wrapper quake4-ded ./q4ded.x86 "${dir}" "${dir}"
fi
if use opengl || ! use dedicated ; then
doicon quake4.bmp || die "doicon"
games_make_wrapper quake4 "./quake4.x86" "${dir}" "${dir}"
games_make_wrapper quake4-smp ./quake4smp.x86 "${dir}" "${dir}"
# doicon ${FILESDIR}/quake4.png || die "copying icon"
# make_desktop_entry quake4 "Quake IV" quake4.png
# make_desktop_entry quake4-smp "Quake IV (SMP)" quake4.png
make_desktop_entry quake4 "Quake IV" /usr/share/pixmaps/quake4.bmp
fi
prepgamesdirs
}
pkg_postinst() {
games_pkg_postinst
if ! use cdinstall ; then
elog "You need to copy pak001.pk4 through pak012.pk4, along with"
elog "zpak*.pk4 from either your installation media or your hard drive"
elog "to ${dir}/q4base before running the game."
echo
fi
if use opengl || ! use dedicated ; then
elog "To play the game, run: quake4"
elog
# The default language is Spanish!
elog "To reset the language from Spanish to English, run:"
elog " sed -i 's:spanish:english:' ~/.quake4/q4base/Quake4Config.cfg"
elog
elog "Saved games from previous Quake 4 versions might not be compatible."
echo
fi
}
|