summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'games-fps/ut2003-demo/ut2003-demo-2206-r3.ebuild')
-rw-r--r--games-fps/ut2003-demo/ut2003-demo-2206-r3.ebuild128
1 files changed, 128 insertions, 0 deletions
diff --git a/games-fps/ut2003-demo/ut2003-demo-2206-r3.ebuild b/games-fps/ut2003-demo/ut2003-demo-2206-r3.ebuild
new file mode 100644
index 000000000000..f5f6748086a3
--- /dev/null
+++ b/games-fps/ut2003-demo/ut2003-demo-2206-r3.ebuild
@@ -0,0 +1,128 @@
+# 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
+ http://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}
+
+src_unpack() {
+ unpack_makeself "${DISTDIR}"/ut2003demo-lnx-${PV}.sh.bin \
+ || die "unpacking demo"
+ unzip "${DISTDIR}"/UT2003CrashFix.zip \
+ || die "unpacking crash-fix"
+ 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 "sed ${dir}/Benchmark/Stuff/${f} failed"
+ 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 "sed ${f} failed"
+ done
+
+ # Wrapper and benchmark-scripts
+ dogamesbin "${FILESDIR}"/ut2003-demo || die "dogamesbin failed"
+ 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 "sed GAMES_PREFIX_OPT"
+
+ # Here we apply DrSiN's crash patch
+ cp "${S}"/CrashFix/System/crashfix.u "${Ddir}"/System \
+ || die "CrashFix failed"
+
+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
+}