1 # Copyright 1999-2012 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
5 inherit eutils unpacker cdrom games
7 DESCRIPTION="Unreal Tournament 2003 - Sequel to the 1999 multi-player first-person shooter"
8 HOMEPAGE="http://www.unrealtournament2003.com/"
9 SRC_URI="http://download.factoryunreal.com/mirror/UT2003CrashFix.zip"
13 KEYWORDS="~amd64 ~x86"
18 DEPEND="app-arch/unzip
23 dir=${GAMES_PREFIX_OPT}/ut2003
28 ewarn "The installed game takes about 2.7GB of space!"
32 cdrom_get_cds System/Packages.md5 StaticMeshes/AWHardware.usx.uz2 \
33 Extras/MayaPLE/Maya4PersonalLearningEditionEpic.exe
34 unzip "${DISTDIR}"/UT2003CrashFix.zip || die
40 einfo "Copying files from Disk 1..."
41 doins -r "${CDROM_ROOT}"/{Animations,ForceFeedback,KarmaData,Maps,Sounds,Textures,Web}
42 insinto "${dir}"/System
43 doins -r "${CDROM_ROOT}"/System/{editorres,*.{bmp,dat,det,est,frt,ini,int,itt,md5,u,upl,url}}
44 insinto "${dir}"/Benchmark/Stuff
45 doins -r "${CDROM_ROOT}"/Benchmark/Stuff/*
50 einfo "Copying files from Disk 2..."
51 doins -r "${CDROM_ROOT}"/{Music,Sounds,StaticMeshes,Textures}
55 einfo "Copying files from Disk 3..."
56 doins -r "${CDROM_ROOT}"/Sounds
58 # TODO: move this to src_unpack, where it belongs
59 unpack_makeself "${CDROM_ROOT}"/linux_installer.sh || die
60 tar xf "${S}"/ut2003lnxbins.tar || die
62 # create empty files in Benchmark
63 for j in {CSVs,Logs,Results} ; do
64 mkdir -p "${Ddir}"/Benchmark/${j} || die
65 touch "${Ddir}"/Benchmark/${j}/DO_NOT_DELETE.ME || die
68 # Cleaning up our installation
69 rm "${Ddir}"/System/{Build,Def{ault,User},Manifest,UT2003,User}.ini || die
70 rm -f "${Ddir}"/System/{Core,Engine,Setup,UnrealGame,Window,XGame,XInterface,XWeapons}.{det,est,frt,int,itt,u} || die
71 rm -rf "${Ddir}"/Web/ServerAdmin || die
72 rm -f "${Ddir}"/System/{Editor,Fire,IpDrv,UnrealEd,Vehicles,XEffects,XPickups,XWebAdmin}.u || die
73 rm -f "${Ddir}"/System/{UWeb,XAdmin}.{int,u} || die
74 rm -f "${Ddir}"/System/GamePlay.{det,itt,u} || die
75 rm -f "${Ddir}"/System/XMaps.{det,est} "${Ddir}"/System/Xweapons.itt || die
76 rm -f "${Ddir}"/System/Manifest.int "${Ddir}"/System/Packages.md5 || die
78 # install extra help files
80 doins "${S}"/Help/Unreal.bmp
82 # install Default and DefUser ini files
83 insinto "${dir}"/System
84 doins "${S}"/System/Def{ault,User}.ini
88 doins "${S}"/eula/License.int
90 # copying extra/updater
91 doins -r "${S}"/{extras,updater}
92 rm -f "${Ddir}"/updater/update || die
95 exeinto "${dir}"/System
96 doexe "${S}"/System/libSDL-1.2.so.0
99 einfo "Uncompressing files... this may take a while..."
100 for j in {Animations,Maps,Sounds,StaticMeshes,Textures} ; do
101 games_ut_unpack "${Ddir}"/${j} || die "uncompressing files"
104 # installing documentation/icon
105 dodoc "${S}"/README.linux
106 newicon "${S}"/Unreal.xpm ut2003.xpm || die "copying icon"
107 doins "${S}"/README.linux "${S}"/Unreal.xpm
110 doexe "${S}"/bin/ut2003 "${S}"/ucc
112 # Here we apply DrSiN's crash patch
113 cp "${S}"/CrashFix/System/crashfix.u "${Ddir}"/System
115 ed "${Ddir}"/System/Default.ini >/dev/null 2>&1 <<EOT
119 AccessControlClass=crashfix.iaccesscontrolini
125 # Here we apply fix for bug #54726
126 sed -i -e "s:UplinkToGamespy=True:UplinkToGamespy=False:" \
127 "${Ddir}"/System/Default.ini || die
129 # now, since these files are coming off a cd, the times/sizes/md5sums wont
130 # be different ... that means portage will try to unmerge some files (!)
131 # we run touch on ${D} so as to make sure portage doesnt do any such thing
132 find "${Ddir}" -exec touch '{}' + || die