You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
125 lines
3.4 KiB
125 lines
3.4 KiB
# Copyright 1999-2024 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=7
|
|
|
|
inherit desktop unpacker
|
|
|
|
DESCRIPTION="Demo for the sequel to the 1999 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"
|
|
S="${WORKDIR}"
|
|
|
|
LICENSE="ut2003-demo"
|
|
SLOT="0"
|
|
KEYWORDS="-* ~amd64 ~x86"
|
|
RESTRICT="bindist mirror strip"
|
|
|
|
RDEPEND="
|
|
app-alternatives/bc
|
|
sys-libs/glibc
|
|
sys-libs/libstdc++-v3:5
|
|
virtual/opengl[abi_x86_32(-)]
|
|
x11-libs/libX11[abi_x86_32(-)]
|
|
x11-libs/libXext[abi_x86_32(-)]
|
|
"
|
|
BDEPEND="app-arch/unzip"
|
|
|
|
dir=opt/${PN}
|
|
Ddir="${ED}"/${dir}
|
|
|
|
QA_PREBUILT="${dir}/*.so ${dir}/*-bin ${dir}/System/libSDL-1.2.so.0"
|
|
|
|
src_unpack() {
|
|
unpack_makeself "${DISTDIR}"/ut2003demo-lnx-${PV}.sh.bin || die
|
|
unzip "${DISTDIR}"/UT2003CrashFix.zip || die
|
|
|
|
cd "${S}" || die
|
|
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} || die
|
|
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
|
|
dobin "${FILESDIR}"/ut2003-demo
|
|
exeinto "${dir}"/Benchmark
|
|
doexe "${FILESDIR}/"{benchmark,results.sh}
|
|
sed -i \
|
|
-e "s:GAMES_PREFIX_OPT:/opt:" \
|
|
"${ED}/usr/bin/${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}
|
|
}
|
|
|
|
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
|
|
}
|