diff options
author | Sam James <sam@gentoo.org> | 2021-04-10 06:08:25 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2021-04-10 07:17:52 +0100 |
commit | 61279c8447e65ed974d5191778916aa96a1adea3 (patch) | |
tree | c6e498dabc9acd762f27e4c301669c3a75038eac /games-fps/ut2003-data/ut2003-data-2107-r2.ebuild | |
parent | games-arcade/gunocide2ex: add missing desktop inherit, fix games.eclass ref (diff) | |
download | gentoo-61279c8447e65ed974d5191778916aa96a1adea3.tar.gz gentoo-61279c8447e65ed974d5191778916aa96a1adea3.tar.bz2 gentoo-61279c8447e65ed974d5191778916aa96a1adea3.zip |
games-fps/ut2003-data: add missing desktop inherit
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'games-fps/ut2003-data/ut2003-data-2107-r2.ebuild')
-rw-r--r-- | games-fps/ut2003-data/ut2003-data-2107-r2.ebuild | 154 |
1 files changed, 154 insertions, 0 deletions
diff --git a/games-fps/ut2003-data/ut2003-data-2107-r2.ebuild b/games-fps/ut2003-data/ut2003-data-2107-r2.ebuild new file mode 100644 index 000000000000..ac69da5ef178 --- /dev/null +++ b/games-fps/ut2003-data/ut2003-data-2107-r2.ebuild @@ -0,0 +1,154 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit desktop cdrom unpacker + +DESCRIPTION="Unreal Tournament 2003 - Sequel to the 1999 multi-player first-person shooter" +HOMEPAGE="http://www.unrealtournament2003.com/" +SRC_URI="https://dev.gentoo.org/~chewi/distfiles/UT2003CrashFix.zip" # MIT licensed (bug #754360) +S="${WORKDIR}" + +LICENSE="ut2003 MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" +RESTRICT="bindist mirror strip" + +BDEPEND=" + app-arch/unzip + games-util/uz2unpack +" + +dir=opt/ut2003 +Ddir="${ED}"/${dir} + +pkg_setup() { + ewarn "The installed game takes about 2.7GB of space!" +} + +src_unpack() { + cdrom_get_cds System/Packages.md5 StaticMeshes/AWHardware.usx.uz2 \ + Extras/MayaPLE/Maya4PersonalLearningEditionEpic.exe + unzip "${DISTDIR}"/UT2003CrashFix.zip || die +} + +src_install() { + # Inlined from games.eclass + _games_ut_unpack() { + local ut_unpack="${1}" + local f= + + if [[ -z ${ut_unpack} ]] ; then + die "You must provide an argument to games_ut_unpack" + fi + + if [[ -f ${ut_unpack} ]] ; then + uz2unpack "${ut_unpack}" "${ut_unpack%.uz2}" || die "failed uncompressing file ${ut_unpack}" + fi + + if [[ -d ${ut_unpack} ]] ; then + while read f ; do + uz2unpack "${ut_unpack}/${f}" "${ut_unpack}/${f%.uz2}" || die "failed uncompressing file ${f}" + rm -f "${ut_unpack}/${f}" || die "failed deleting compressed file ${f}" + done < <(find "${ut_unpack}" -maxdepth 1 -name '*.uz2' -printf '%f\n' 2>/dev/null) + fi + } + + insinto "${dir}" + # Disk 1 + einfo "Copying files from Disk 1..." + doins -r "${CDROM_ROOT}"/{Animations,ForceFeedback,KarmaData,Maps,Sounds,Textures,Web} + insinto "${dir}"/System + doins -r "${CDROM_ROOT}"/System/{editorres,*.{bmp,dat,det,est,frt,ini,int,itt,md5,u,upl,url}} + insinto "${dir}"/Benchmark/Stuff + doins -r "${CDROM_ROOT}"/Benchmark/Stuff/* + cdrom_load_next_cd + + # Disk 2 + insinto "${dir}" + einfo "Copying files from Disk 2..." + doins -r "${CDROM_ROOT}"/{Music,Sounds,StaticMeshes,Textures} + cdrom_load_next_cd + + # Disk 3 + einfo "Copying files from Disk 3..." + doins -r "${CDROM_ROOT}"/Sounds + + # TODO: move this to src_unpack, where it belongs + unpack_makeself "${CDROM_ROOT}"/linux_installer.sh || die + tar xf "${S}"/ut2003lnxbins.tar || die + + # create empty files in Benchmark + for j in {CSVs,Logs,Results} ; do + mkdir -p "${Ddir}"/Benchmark/${j} || die + touch "${Ddir}"/Benchmark/${j}/DO_NOT_DELETE.ME || die + done + + # Cleaning up our installation + rm "${Ddir}"/System/{Build,Def{ault,User},Manifest,UT2003,User}.ini || die + rm -f "${Ddir}"/System/{Core,Engine,Setup,UnrealGame,Window,XGame,XInterface,XWeapons}.{det,est,frt,int,itt,u} || die + rm -rf "${Ddir}"/Web/ServerAdmin || die + rm -f "${Ddir}"/System/{Editor,Fire,IpDrv,UnrealEd,Vehicles,XEffects,XPickups,XWebAdmin}.u || die + rm -f "${Ddir}"/System/{UWeb,XAdmin}.{int,u} || die + rm -f "${Ddir}"/System/GamePlay.{det,itt,u} || die + rm -f "${Ddir}"/System/XMaps.{det,est} "${Ddir}"/System/Xweapons.itt || die + rm -f "${Ddir}"/System/Manifest.int "${Ddir}"/System/Packages.md5 || die + + # 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 + + # copying extra/updater + doins -r "${S}"/{extras,updater} + rm -f "${Ddir}"/updater/update || die + + # copy libraries + exeinto "${dir}"/System + doexe "${S}"/System/libSDL-1.2.so.0 + + # 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 + newicon "${S}"/Unreal.xpm ut2003.xpm + doins "${S}"/README.linux "${S}"/Unreal.xpm + # copy ut2003/ucc + exeinto "${dir}" + doexe "${S}"/bin/ut2003 "${S}"/ucc + + # Here we apply DrSiN's crash patch + cp "${S}"/CrashFix/System/crashfix.u "${Ddir}"/System || die + + ed "${Ddir}"/System/Default.ini >/dev/null 2>&1 <<EOT +$ +?Engine.GameInfo? +a +AccessControlClass=crashfix.iaccesscontrolini +. +w +q +EOT + + # Here we apply fix for bug #54726 + sed -i -e "s:UplinkToGamespy=True:UplinkToGamespy=False:" \ + "${Ddir}"/System/Default.ini || die + + # 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 '{}' + || die +} |