blob: 7ea5df936e1b5c5e87a2b02540eff94d5c7431f4 (
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-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
inherit eutils multilib games
MY_P="ut2004-lnxpatch${PV%.*}-2.tar.bz2"
DESCRIPTION="Editor's Choice Edition plus Mega Pack for the well-known first-person shooter"
HOMEPAGE="http://www.unrealtournament2004.com/"
SRC_URI="
http://treefort.icculus.org/${PN}/${MY_P}
http://storage.guntoo.de/downs/downloads/Patch/ut2004-v${PV/./-}-linux-dedicated.7z
mirror://gentoo/ut2004-v${PV/./-}-linux-dedicated.7z"
LICENSE="ut2003"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="dedicated opengl"
RESTRICT="mirror strip"
UIDEPEND="=virtual/libstdc++-3.3
virtual/opengl
x11-libs/libXext
x11-libs/libX11
x11-libs/libXau
x11-libs/libXdmcp
media-libs/libsdl
media-libs/openal"
RDEPEND="sys-libs/glibc
games-fps/ut2004-data
games-fps/ut2004-bonuspack-ece
games-fps/ut2004-bonuspack-mega
dedicated? ( !games-server/ut2004-ded )
opengl? ( ${UIDEPEND} )
!dedicated? ( !opengl? ( ${UIDEPEND} ) )"
DEPEND="app-arch/p7zip"
S=${WORKDIR}/UT2004-Patch
dir=${GAMES_PREFIX_OPT}/${PN}
# The executable pages are required #114733
QA_PREBUILT="${dir:1}/System/ut2004-bin
${dir:1}/System/ucc-bin"
src_prepare() {
cd "${S}"/System
# These files are owned by ut2004-bonuspack-mega
rm -f Manifest.in{i,t} Packages.md5 ucc-bin* || die
if use amd64 ; then
mv -f ut2004-bin-linux-amd64 ut2004-bin || die
else
rm -f ut2004-bin-linux-amd64 || die
fi
cd "${WORKDIR}"/ut2004-ucc-bin-09192008
if use amd64 ; then
mv -f ucc-bin-linux-amd64 "${S}"/System/ucc-bin || die
else
mv -f ucc-bin "${S}"/System/ || die
fi
if use dedicated && ! use opengl ; then
rm -f "${S}"/System/ut2004-bin || die
fi
}
src_install() {
insinto "${dir}"
doins -r *
fperms +x "${dir}"/System/ucc-bin
if use opengl || ! use dedicated ; then
fperms +x "${dir}"/System/ut2004-bin
dosym /usr/$(get_libdir)/libopenal.so "${dir}"/System/openal.so
dosym /usr/$(get_libdir)/libSDL-1.2.so.0 "${dir}"/System/libSDL-1.2.so.0
games_make_wrapper ut2004 ./ut2004 "${dir}" "${dir}"
make_desktop_entry ut2004 "Unreal Tournament 2004"
fi
if use dedicated ; then
games_make_wrapper ut2004-ded "./ucc-bin server" "${dir}"/System
fi
prepgamesdirs
}
pkg_postinst() {
games_pkg_postinst
# Here is where we check for the existence of a cdkey...
# If we don't find one, we ask the user for it
if [[ -f ${dir}/System/cdkey ]] ; then
einfo "A cdkey file is already present in ${dir}/System"
else
ewarn "You MUST run this before playing the game:"
ewarn "emerge --config =${CATEGORY}/${PF}"
ewarn "That way you can [re]enter your cdkey."
fi
elog "Starting with 3369, the game supports render-to-texture. To enable"
elog "it, you will need the Nvidia drivers of at least version 7676 and"
elog "you should edit the following:"
elog 'Set "UseRenderTargets=True" in the "[OpenGLDrv.OpenGLRenderDevice]"'
elog 'section of your UT2004.ini or Default.ini and set "bPlayerShadows=True"'
elog 'and "bBlobShadow=False" in the "[UnrealGame.UnrealPawn]" section of'
elog 'your User.ini or DefUser.ini.'
}
pkg_postrm() {
ewarn "This package leaves a cdkey file in ${dir}/System that you need"
ewarn "to remove to completely get rid of this game's files."
}
pkg_config() {
ewarn "Your CD key is NOT checked for validity here so"
ewarn "make sure you type it in correctly."
ewarn "If you CTRL+C out of this, the game will not run!"
echo
einfo "CD key format is: XXXXX-XXXXX-XXXXX-XXXXX"
while true ; do
einfo "Please enter your CD key:"
read CDKEY1
einfo "Please re-enter your CD key:"
read CDKEY2
if [[ -z ${CDKEY1} ]] || [[ -z ${CDKEY2} ]] ; then
echo "You entered a blank CD key. Try again."
else
if [[ ${CDKEY1} == ${CDKEY2} ]] ; then
echo "${CDKEY1}" | tr [:lower:] [:upper:] > "${dir}"/System/cdkey
einfo "Thank you!"
break
else
eerror "Your CD key entries do not match. Try again."
fi
fi
done
}
|