| # Copyright 1999-2015 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| # $Id$ |
| |
| EAPI=5 |
| |
| inherit eutils unpacker games |
| |
| DESCRIPTION="Demo for the sequel to the 1999 Game of the Year multi-player first-person shooter" |
| HOMEPAGE="http://www.ut2003.com/" |
| SRC_URI="http://unreal.epicgames.com/linux/ut2003/ut2003demo-lnx-${PV}.sh.bin |
| http://download.factoryunreal.com/mirror/UT2003CrashFix.zip |
| https://dev.gentoo.org/~wolf31o2/sources/${PN}/${PN}-misc.tar.bz2" |
| |
| LICENSE="ut2003-demo" |
| SLOT="0" |
| KEYWORDS="-* amd64 x86" |
| IUSE="" |
| RESTRICT="strip" |
| |
| DEPEND="app-arch/unzip" |
| RDEPEND=" |
| sys-devel/bc |
| virtual/libstdc++:3.3 |
| virtual/opengl[abi_x86_32(-)] |
| x11-libs/libX11[abi_x86_32(-)] |
| x11-libs/libXext[abi_x86_32(-)] |
| " |
| |
| S=${WORKDIR} |
| |
| dir=${GAMES_PREFIX_OPT}/${PN} |
| Ddir=${D}/${dir} |
| |
| QA_PREBUILT="${dir:1}/*.so ${dir:1}/*-bin ${dir:1}/System/libSDL-1.2.so.0" |
| |
| src_unpack() { |
| unpack_makeself "${DISTDIR}"/ut2003demo-lnx-${PV}.sh.bin || die |
| unzip "${DISTDIR}"/UT2003CrashFix.zip || die |
| cd "${S}" |
| unpack ./setupstuff.tar.gz || die |
| unpack ./ut2003lnx_demo.tar.bz2 || die |
| unpack ${PN}-misc.tar.bz2 || die |
| } |
| |
| src_install() { |
| einfo "This will take a while ... go get a pizza or something" |
| dodir "${dir}" |
| |
| local i |
| for i in Animations Benchmark Help KarmaData Maps Music Sounds \ |
| StaticMeshes System Textures Web extras |
| do |
| dodir "${dir}"/${i} |
| cp -pPR "${S}"/${i}/* "${Ddir}"/${i} |
| done |
| |
| # Fix the benchmark configurations to use SDL rather than the Windows driver |
| local f |
| for f in MaxDetail.ini MinDetail.ini |
| do |
| sed -i \ |
| -e 's/RenderDevice=D3DDrv.D3DRenderDevice/\;RenderDevice=D3DDrv.D3DRenderDevice/' \ |
| -e 's/ViewportManager=WinDrv.WindowsClient/\;ViewportManager=WinDrv.WindowsClient/' \ |
| -e 's/\;RenderDevice=OpenGLDrv.OpenGLRenderDevice/RenderDevice=OpenGLDrv.OpenGLRenderDevice/' \ |
| -e 's/\;ViewportManager=SDLDrv.SDLClient/ViewportManager=SDLDrv.SDLClient/' \ |
| "${Ddir}"/Benchmark/Stuff/${f} || die |
| done |
| |
| # Have the benchmarks run the nifty wrapper script rather than |
| # ../System/ut2003-bin directly |
| for f in "${Ddir}"/Benchmark/*-*.sh ; do |
| sed -i \ |
| -e 's:\.\./System/ut2003-bin:../ut2003_demo:' "${f}" || die |
| done |
| |
| # Wrapper and benchmark-scripts |
| dogamesbin "${FILESDIR}"/ut2003-demo |
| exeinto "${dir}"/Benchmark |
| doexe "${FILESDIR}/"{benchmark,results.sh} |
| sed -i -e "s:GAMES_PREFIX_OPT:${GAMES_PREFIX_OPT}:" \ |
| "${ED}/${GAMES_BINDIR}/${PN}" "${ED}/${dir}"/Benchmark/benchmark || die |
| |
| # 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 |
| |
| exeinto "${dir}" |
| insinto "${dir}" |
| doins DemoLicense.int README.linux |
| doexe ucc ut2003_demo |
| newicon Unreal.xpm ut2003-demo.xpm |
| make_desktop_entry ut2003-demo "Unreal Tournament 2003 (Demo)" ${PN} |
| |
| prepgamesdirs |
| } |
| |
| pkg_postinst() { |
| games_pkg_postinst |
| elog "You can run benchmarks by typing 'ut2003-demo --bench' (MinDetail seems" |
| elog "to not be working for some unknown reason :/)" |
| echo |
| elog "Read ${dir}/README.linux for instructions on how to run a" |
| elog "dedicated server." |
| echo |
| ewarn "If you are not installing for the first time and you plan on running" |
| ewarn "a server, you will probably need to edit your" |
| ewarn "~/.ut2003demo/System/UT2003.ini file and add a line that says" |
| ewarn "AccessControlClass=crashfix.iaccesscontrolini to your" |
| ewarn "[Engine.GameInfo] section to close a security issue." |
| echo |
| elog "To play the demo run:" |
| elog " ut2003-demo" |
| echo |
| } |