diff options
author | Mike Frysinger <vapier@gentoo.org> | 2003-09-09 18:10:15 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2003-09-09 18:10:15 +0000 |
commit | c22ea1f9962983b3583d00085024413d77102212 (patch) | |
tree | acd80fa59d92f27b0609b3d58893ef500cd09925 /games-fps/unreal-tournament-goty/unreal-tournament-goty-451.ebuild | |
parent | New version 'n cleanup (diff) | |
download | gentoo-2-c22ea1f9962983b3583d00085024413d77102212.tar.gz gentoo-2-c22ea1f9962983b3583d00085024413d77102212.tar.bz2 gentoo-2-c22ea1f9962983b3583d00085024413d77102212.zip |
games-fps uNF uNF uNF
Diffstat (limited to 'games-fps/unreal-tournament-goty/unreal-tournament-goty-451.ebuild')
-rw-r--r-- | games-fps/unreal-tournament-goty/unreal-tournament-goty-451.ebuild | 218 |
1 files changed, 218 insertions, 0 deletions
diff --git a/games-fps/unreal-tournament-goty/unreal-tournament-goty-451.ebuild b/games-fps/unreal-tournament-goty/unreal-tournament-goty-451.ebuild new file mode 100644 index 000000000000..b19e820bb24d --- /dev/null +++ b/games-fps/unreal-tournament-goty/unreal-tournament-goty-451.ebuild @@ -0,0 +1,218 @@ +# Copyright 1999-2003 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/games-fps/unreal-tournament-goty/unreal-tournament-goty-451.ebuild,v 1.1 2003/09/09 18:10:15 vapier Exp $ + +inherit games + +DESCRIPTION="Futuristic FPS (Game Of The Year edition)" +HOMEPAGE="http://www.unrealtournament.com/" +SRC_URI="ftp://ftp.lokigames.com/pub/beta/ut/ut-install-436-GOTY.run + http://utpg.org/patches/UTPGPatch${PV}.tar.bz2" + +LICENSE="as-is" +SLOT="0" +KEYWORDS="x86" +IUSE="X 3dfx S3TC nls opengl" + +DEPEND="!app-games/unreal-tournament" +RDEPEND="X? ( virtual/x11 ) + opengl? ( virtual/opengl )" + +S=${WORKDIR} + +export UT_CD1=${UT_SETUP_CDROM1} +export UT_CD2=${UT_SETUP_CDROM2} +if [ -z "${UT_CD1}" ] ; then + for mline in `mount | egrep -e '(iso|cdrom)' | awk '{print $3}'` ; do + [ ! -d ${mline}/System ] && continue + [ -d ${mline}/Help/chaosut ] \ + && UT_CD2=${mline} \ + || UT_CD1=${mline} + done +fi +[ -z "${UT_CD2}" ] && UT_CD2=${UT_CD1} + +pkg_setup() { + if [ -z "${UT_CD1}" ] || [ -z "${UT_CD2}" ] ; then + echo + eerror "You must mount the first UT CD first !" + echo + ewarn "If you do not have the CDs, but have the data files" + ewarn "mounted somewhere on your filesystem, just export" + ewarn "the variable UT_SETUP_CDROM1 so that it points to the" + ewarn "base of the Unreal Tournament GOTY data." + echo + einfo "If you have 2 CDROM drives you can also export the" + einfo "variable UT_SETUP_CDROM2 to specify the 2nd cdrom." + einfo "Otherwise you will be prompted to switch CDs in the" + einfo "middle of the emerge." + echo + einfo "Also note that if you want to *just* install the game" + einfo "and *not* install the extra GOTY stuff (Chaos mod/different" + einfo "languages/S3TC textures) then you can use the regular" + einfo "unreal-tournament ebuild instead." + echo + die "You must provide the Unreal Tournament data before running the install" + fi + games_pkg_setup +} + +src_unpack() { + unpack_makeself ut-install-436-GOTY.run + mkdir UTPG && cd UTPG + unpack UTPGPatch${PV}.tar.bz2 + rm checkfiles.sh patch.md5 +} + +src_install() { + local dir=${GAMES_PREFIX_OPT}/${PN/-goty/} + local Ddir=${D}/${dir} + dodir ${dir} + + ########### + ### PRE ### + # System + if [ `use 3dfx` ] ; then + tar -zxf Glide.ini.tar.gz -C ${Ddir} || die "install Glide ini" + else + tar -zxf OpenGL.ini.tar.gz -C ${Ddir} || die "install OpenGL ini" + fi + tar -zxf data.tar.gz -C ${Ddir} || die "extract System data" + + # the most important things, ucc & ut :) + exeinto ${dir} + doexe bin/x86/{ucc,ut} || die "install ucc/ut" + dosed "s:\`FindPath \$0\`:${dir}:" ${dir}/ucc + + # export some symlinks so ppl can run + dodir ${GAMES_BINDIR} + dosym ${dir}/ucc ${GAMES_BINDIR}/ucc + dosym ${dir}/ut ${GAMES_BINDIR}/ut + ### PRE ### + ########### + + + ########### + ### CD1 ### + export UT_CD=${UT_CD1} + + # Help, Logs, Music, Sounds, Textures, Web + cp -rf ${UT_CD}/{Help,Logs,Music,Textures,Web} ${Ddir}/ || die "copy Help, Logs, Music, Textures, Web CD1" + dodir ${dir}/Sounds + if [ `use nls` ] ; then + cp -rf ${UT_CD}/Sounds/* ${Ddir}/Sounds/ || die "copy Sounds CD1" + else + cp -rf ${UT_CD}/Sounds/*.uax ${Ddir}/Sounds/ || die "copy Sounds CD1" + fi + + # System + dodir ${dir}/System + if [ `use nls` ] ; then + cp ${UT_CD}/System/*.{est,frt,itt,int,u} ${Ddir}/System/ || die "copy System data CD1" + else + cp ${UT_CD}/System/*.{int,u} ${Ddir}/System/ || die "copy System data CD1" + fi + + # now we uncompress the maps + einfo "Uncompressing CD1 Maps ... this may take some time" + dodir ${dir}/Maps + cd ${Ddir} + export HOME=${T} + export UT_DATA_PATH=${Ddir}/System + for f in `find ${UT_CD}/Maps/ -name '*.uz' -printf '%f '` ; do + ./ucc decompress ${UT_CD}/Maps/${f} -nohomedir || die "uncompressing map CD1 ${f}" + mv System/${f:0:${#f}-3} Maps/ || die "copy map CD1 ${f}" + done + ### CD1 ### + ########### + + + ### Have user switch cds if need be ### + if [ "${UT_CD1}" == "${UT_CD2}" ] ; then + while :; do + einfo "Please mount the 2nd cd at ${UT_CD2} and press return when ready (or CTRL+C to abort)" + read + [ -d ${UT_CD2}/System ] && break + [ -d ${UT_CD2}/Help/chaosut ] && break + eerror "Could not verify that ${UT_CD2} really contains the 2nd CD" + done + fi + + + ########### + ### CD2 ### + export UT_CD=${UT_CD2} + + # Help, Sounds + cp -rf ${UT_CD}/{Help,Sounds} ${Ddir}/ || die "copy Help, Sounds CD2" + + # S3TC Textures + if [ `use S3TC` ] ; then + cp -rf ${UT_CD}/Textures ${Ddir}/ || die "copy S3TC Textures CD2" + else + cp -rf ${UT_CD}/Textures/{JezzTex,Jezztex2,SnowDog,chaostex{,2}}.utx ${Ddir}/Textures/ || die "copy Textures CD2" + fi + + # System + cp -rf ${UT_CD}/System/*.{u,int} ${Ddir}/System/ || die "copy System CD2" + + # now we uncompress the maps + einfo "Uncompressing CD2 Maps ... this may take some time" + dodir ${dir}/Maps + cd ${Ddir} + export HOME=${T} + export UT_DATA_PATH=${Ddir}/System + for f in `find ${UT_CD}/maps/ -name '*.uz' -printf '%f '` ; do + ./ucc decompress ${UT_CD}/maps/${f} -nohomedir || die "uncompressing map CD2 ${f}" + mv System/${f:0:${#f}-3} Maps/ || die "copy map CD2 ${f}" + done + ### CD2 ### + ########### + + + ########### + ### END ### + cd ${S} + + # Textures + tar -zxf Credits.tar.gz -C ${Ddir} || die "extract credits texture" + # NetGamesUSA.com + tar -zxf NetGamesUSA.com.tar.gz -C ${Ddir}/ || die "extract NetGamesUSA.com" + + # first apply any patch remaints loki has for us + cd setup.data + cp patch.dat{,.orig} + sed -e 's:sh uz-maps.sh:echo:' patch.dat.orig > patch.dat + ./bin/Linux/x86/loki_patch patch.dat ${Ddir} >& /dev/null + cd ${S} + + # finally, unleash the UTPG patch + cp -rf UTPG/* ${Ddir}/ + # fix a small bug until next official release + dosed "/^LoadClassMismatch/s:%s.%s:%s:" ${dir}/System/Core.int + + # install a few random files + insinto ${dir} + doins README icon.{bmp,xpm} || die "installing random files" + + # now, since these files are coming off a cd, the times/sizes/md5sums wont + # be different ... that means portage will try to unmerge some files (!) + # we run touch on ${D} so as to make sure portage doesnt do any such thing + find ${Ddir} -exec touch '{}' \; + ### END ### + ########### + + prepgamesdirs +} + +pkg_postinst() { + echo + einfo "You might want to install the bonus packs too." + einfo "Many servers on the internet use them, and the" + einfo "majority of players do too." + echo + einfo "Just run: emerge unreal-tournament-bonuspacks" + echo + + games_pkg_postinst +} |