diff options
Diffstat (limited to 'games-fps/ut2003/ut2003-2225-r1.ebuild')
-rw-r--r-- | games-fps/ut2003/ut2003-2225-r1.ebuild | 178 |
1 files changed, 178 insertions, 0 deletions
diff --git a/games-fps/ut2003/ut2003-2225-r1.ebuild b/games-fps/ut2003/ut2003-2225-r1.ebuild new file mode 100644 index 000000000000..1963dfd2031c --- /dev/null +++ b/games-fps/ut2003/ut2003-2225-r1.ebuild @@ -0,0 +1,178 @@ +# Copyright 1999-2004 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/games-fps/ut2003/ut2003-2225-r1.ebuild,v 1.1 2004/02/13 18:32:11 wolf31o2 Exp $ + +inherit games + +IUSE="dedicated" +DESCRIPTION="Unreal Tournament 2003 - Sequel to the 1999 Game of the Year multi-player first-person shooter" +HOMEPAGE="http://www.unrealtournament2003.com/" +SRC_URI="http://unreal.epicgames.com/linux/ut2003/${PN}lnx_2107to${PV}.sh.bin + ftp://david.hedbor.org/ut2k3/updates/${PN}lnx_2107to${PV}.sh.bin" + +LICENSE="ut2003" +SLOT="0" +KEYWORDS="~x86" +RESTRICT="nostrip" + +DEPEND="virtual/glibc" +RDEPEND="dedicated? ( games-server/ut2003-ded ) + !dedicated? ( virtual/opengl )" + +S=${WORKDIR} + +dir=${GAMES_PREFIX_OPT}/${PN} +Ddir=${D}/${dir} + +pkg_setup() { + check_license || die "License check failed" + ewarn "The installed game takes about 2.7GB of space!" + cdrom_get_cds System/Packages.md5 StaticMeshes/AWHardware.usx.uz2 \ + Extras/MayaPLE/Maya4PersonalLearningEditionEpic.exe + games_pkg_setup +} + +src_unpack() { + unpack_makeself || die "unpacking patch" +} + +src_install() { + dodir ${dir} + dodir ${dir}/System + + # Disk 1 + einfo "Copying files from Disk 1..." + cp -r ${CDROM_ROOT}/{Animations,ForceFeedback,Help,KarmaData,Maps,Sounds,Textures,Web} ${Ddir} || die "copying files" + cp -r ${CDROM_ROOT}/System/{editorres,*.{bmp,dat,det,est,frt,ini,int,itt,md5,u,upl,url}} ${Ddir}/System || die "copying files" + mkdir -p ${Ddir}/Benchmark/Stuff || dir "creating benchamrk folders" + cp -r ${CDROM_ROOT}/Benchmark/Stuff/* ${Ddir}/Benchmark/Stuff || die "copying benchmark files" + cdrom_load_next_cd + + # Disk 2 + einfo "Copying files from Disk 2..." + cp -r ${CDROM_ROOT}/{Music,Sounds,StaticMeshes,Textures} ${Ddir} || die "copying files" + cdrom_load_next_cd + + # Disk 3 + einfo "Copying files from Disk 3..." + cp -r ${CDROM_ROOT}/Sounds ${Ddir} || die "copying files" + + # create empty files in Benchmark + for j in {CSVs,Logs,Results} ; do + mkdir -p ${Ddir}/Benchmark/${j} || die "creating folders" + touch ${Ddir}/Benchmark/${j}/DO_NOT_DELETE.ME || die "creating files" + done + + # remove Default, DefUser, UT2003 and User ini files + rm ${Ddir}/System/{Def{ault,User},UT2003,User}.ini || die "deleting ini files" + + # unpack_makeself won't take absolute path + unpack_makeself ${CDROM_ROOT}/linux_installer.sh || die "unpacking linux installer" + + # install extra help files + insinto ${dir}/Help + doins ${S}/Help/Unreal.bmp + + # install Default and DefUser ini files + insinto ${dir}/System + doins ${S}/System/Def{ault,User}.ini + + # install eula + insinto ${dir} + doins ${S}/eula/License.int + + # uncompress original binaries/libraries + tar -xf ut2003lnxbins.tar || die "unpacking original binaries/libraries" + + # copying extra/updater + cp -r ${S}/{extras,updater} ${Ddir} || die "copying extras/updater" + + # install benchmarks + cp -r ${S}/Benchmark ${Ddir} || die "copying benchmark files" + + # copy ut2003/ucc + exeinto ${dir} + doexe ${S}/bin/ut2003 ${S}/ucc || die "copying ut2003/ucc" + + # copy binaries/libraries + exeinto ${dir}/System + doexe ${S}/System/{*-bin,*.so.0,*.so} || die "copying system binaries/libraries" + + # uncompressing files + einfo "Uncompressing files... this may take a while..." + for j in {Animations,Maps,Sounds,StaticMeshes,Textures} ; do + games_ut_unpack ${Ddir}/${j} || die "uncompressing files" + done + + # installing documentation/icon + dodoc ${S}/README.linux || die "dodoc README.linux" + insinto /usr/share/pixmaps ; newins ${S}/Unreal.xpm UT2003.xpm || die "copying pixmap" + insinto ${dir} + doins ${S}/README.linux ${S}/Unreal.xpm || die "copying readme/icon" + + sed -e "s:GENTOO_DIR:${dir}:" ${FILESDIR}/ucc > ucc + sed -e "s:GENTOO_DIR:${dir}:" ${FILESDIR}/ut2003 > ut2003 + dogamesbin ucc ut2003 + + rm ${Ddir}/System/{UT2003,User}.ini || die "deleting ini files" + + # this brings our install up to the newest version + cd ${S} + bin/Linux/x86/loki_patch --verify patch.dat + bin/Linux/x86/loki_patch patch.dat ${Ddir} >& /dev/null || die "patching" + + # 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 '{}' \; + + prepgamesdirs + make_desktop_entry ut2003 "UT2003" UT2003.xpm +} + +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 "ebuild /var/db/pkg/${CATEGORY}/${PF}/${PF}.ebuild config" + ewarn "That way you can [re]enter your cdkey." + fi + echo + einfo "To play the game run:" + einfo " ut2003" +} + +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." + ewarn " Make sure you type it in correctly." + eerror "If you CTRL+C out of this, the game will not run!" + echo + einfo "CD key format is: XXXX-XXXX-XXXX-XXXX" + while true ; do + einfo "Please enter your CD key:" + read CDKEY1 + einfo "Please re-enter your CD key:" + read CDKEY2 + if [ "$CDKEY1" == "" ] ; then + echo "You entered a blank CD key. Try again." + else + if [ "$CDKEY1" == "$CDKEY2" ] ; then + echo "$CDKEY1" | tr a-z A-Z > ${dir}/System/cdkey + einfo "Thank you!" + break + else + eerror "Your CD key entries do not match. Try again." + fi + fi + done +} |