diff options
Diffstat (limited to 'games-fps/ut2004/ut2004-3369.3-r1.ebuild')
-rw-r--r-- | games-fps/ut2004/ut2004-3369.3-r1.ebuild | 149 |
1 files changed, 149 insertions, 0 deletions
diff --git a/games-fps/ut2004/ut2004-3369.3-r1.ebuild b/games-fps/ut2004/ut2004-3369.3-r1.ebuild new file mode 100644 index 000000000000..2c992c4a0e11 --- /dev/null +++ b/games-fps/ut2004/ut2004-3369.3-r1.ebuild @@ -0,0 +1,149 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/games-fps/ut2004/ut2004-3369.3-r1.ebuild,v 1.1 2009/10/12 00:54:03 nyhm Exp $ + +EAPI=2 +inherit eutils multilib games + +MY_P="ut2004-lnxpatch${PV%.*}-2.tar.bz2" +DESCRIPTION="Editor's Choice Edition plus Mega Pack for the critically-acclaimed first-person shooter" +HOMEPAGE="http://www.unrealtournament2004.com/" +SRC_URI="mirror://3dgamers/unrealtourn2k4/${MY_P} + http://speculum.twistedgamer.com/pub/0day.icculus.org/${PN}/${MY_P} + http://treefort.icculus.org/${PN}/${MY_P} + http://sonic-lux.net/data/mirror/ut2004/${MY_P} + mirror://gentoo/ut2004-v${PV/./-}-linux-dedicated.7z" + +LICENSE="ut2003" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="dedicated opengl" +RESTRICT="mirror strip" +PROPERTIES="interactive" + +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} + +GAMES_CHECK_LICENSE="yes" + +# The executable pages are required #114733 +QA_EXECSTACK_x86="${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 + + rm -f ucc-bin* + + if use amd64 ; then + mv -f ut2004-bin-linux-amd64 ut2004-bin || die + else + rm -f ut2004-bin-linux-amd64 + 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 + fi +} + +src_install() { + insinto "${dir}" + doins -r * || die "doins failed" + fperms +x "${dir}"/System/ucc-bin || die "fperms ucc-bin failed" + + if use opengl || ! use dedicated ; then + fperms +x "${dir}"/System/ut2004-bin || die "fperms ut2004-bin failed" + + dosym /usr/$(get_libdir)/libopenal.so "${dir}"/System/openal.so \ + || die "dosym openal failed" + dosym /usr/$(get_libdir)/libSDL-1.2.so.0 "${dir}"/System/libSDL-1.2.so.0 \ + || die "dosym sdl failed" + + 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 +} |