141 lines
4.3 KiB
Bash
141 lines
4.3 KiB
Bash
# Copyright 1999-2012 Gentoo Foundation
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
# $Header: /var/cvsroot/gentoo-x86/games-action/rune/rune-1.07-r2.ebuild,v 1.11 2012/01/16 19:10:25 ulm Exp $
|
|
|
|
EAPI=2
|
|
inherit eutils cdrom games
|
|
|
|
DESCRIPTION="Viking hack and slay game"
|
|
HOMEPAGE="http://www.runegame.com"
|
|
SRC_URI="mirror://gentoo/rune-all-0.2.tar.bz2"
|
|
|
|
LICENSE="LOKI-EULA"
|
|
SLOT="0"
|
|
KEYWORDS="amd64 x86"
|
|
RESTRICT="strip"
|
|
IUSE=""
|
|
|
|
RDEPEND="virtual/opengl
|
|
dev-util/xdelta:0
|
|
x86? (
|
|
x11-libs/libX11
|
|
x11-libs/libXext
|
|
>=media-libs/libsdl-1.2.9-r1 )
|
|
amd64? (
|
|
app-emulation/emul-linux-x86-xlibs
|
|
app-emulation/emul-linux-x86-compat
|
|
app-emulation/emul-linux-x86-sdl )"
|
|
|
|
DEPEND=""
|
|
|
|
S=${WORKDIR}
|
|
|
|
dir=${GAMES_PREFIX_OPT}/${PN}
|
|
Ddir=${D}/${dir}
|
|
|
|
src_unpack() {
|
|
export CDROM_SET_NAMES=("Linux Rune CD" "Windows Rune CD")
|
|
cdrom_get_cds System/rune-bin:System/Rune.exe
|
|
dodir "${dir}"
|
|
if [[ ${CDROM_SET} -eq 0 ]]
|
|
then
|
|
# unpack the data files
|
|
tar xzf "${CDROM_ROOT}"/data.tar.gz || die "Could not unpack data.tar.gz"
|
|
elif [[ ${CDROM_SET} -eq 1 ]]
|
|
then
|
|
# unpack the runelinuxfiles.tar.gz
|
|
unpack ${A} || die "Could not unpack rune-all-0.1.tar.bz2"
|
|
fi
|
|
}
|
|
|
|
src_install() {
|
|
insinto "${dir}"
|
|
exeinto "${dir}"
|
|
einfo "Copying files... this may take a while..."
|
|
|
|
case ${CDROM_SET} in
|
|
0)
|
|
for x in Help Maps Meshes Sounds System Textures Web
|
|
do
|
|
doins -r $x || die "copying $x"
|
|
done
|
|
|
|
# copy linux specific files
|
|
doins -r "${CDROM_ROOT}"/System \
|
|
|| die "Could not copy Linux specific files"
|
|
|
|
# the most important things: rune and ucc :)
|
|
doexe "${CDROM_ROOT}"/bin/x86/rune \
|
|
|| die "Could not install rune executable"
|
|
fperms 750 "${dir}"/System/{ucc{,-bin},rune-bin} \
|
|
|| die "Could not make executables executable"
|
|
|
|
# installing documentation/icon
|
|
dodoc "${CDROM_ROOT}"/{README,CREDITS} || die "Could not dodoc README.linux"
|
|
newicon "${CDROM_ROOT}"/icon.xpm rune.xpm || die "Could not copy pixmap"
|
|
;;
|
|
1)
|
|
# copying Maps Sounds and Web
|
|
for x in Maps Sounds Web
|
|
do
|
|
doins -r "${CDROM_ROOT}"/$x || die "copying $x"
|
|
done
|
|
|
|
# copying the texture files
|
|
dodir "${dir}"/Textures
|
|
for x in $(find "${CDROM_ROOT}"/Textures/ -type f -printf '%f ')
|
|
do
|
|
echo -ne '\271\325\036\214' | cat - "${CDROM_ROOT}"/Textures/$x \
|
|
|sed -e '1 s/\(....\)..../\1/' > "${Ddir}"/Textures/$x \
|
|
|| die "modifying and copying $x"
|
|
done
|
|
|
|
doins -r "${S}"/System || die "Could not copy Linux specific files"
|
|
doins -r "${S}"/Help || die "Could not copy Help data"
|
|
sed -e "s:.*\(\w+/\w+\)\w:\1:"
|
|
for x in $(ls "${S}"/patch/{System,Maps,Meshes} |sed -e \
|
|
"s:.*/\([^/]\+/[^/]\+\).patch$:\1:")
|
|
do
|
|
xdelta patch "${S}"/patch/${x}.patch "${CDROM_ROOT}"/${x} "${S}"/patch/${x}
|
|
doins "${S}"/patch/${x} || die "Could not copy Patch data"
|
|
done
|
|
|
|
insinto "${dir}"/System
|
|
|
|
# copying system files from the Windows CD
|
|
for x in "${CDROM_ROOT}"/System/*.{int,u,url}; do
|
|
doins $x || die "copying $x"
|
|
done
|
|
|
|
# modify the files
|
|
mv "${Ddir}"/System/OpenGlDrv.int "${Ddir}"/System/OpenGLDrv.int \
|
|
|| die "Could not modify System file OpenGlDrv.int"
|
|
mv "${Ddir}"/Textures/bloodFX.utx "${Ddir}"/Textures/BloodFX.utx \
|
|
|| die "Could not modify Texture file bloodFX.utx"
|
|
mv "${Ddir}"/Textures/RUNESTONES.UTX "${Ddir}"/Textures/RUNESTONES.utx \
|
|
|| die "Could not modify Texture file RUNESTONES.UTX"
|
|
mv "${Ddir}"/Textures/tedd.utx "${Ddir}"/Textures/Tedd.utx \
|
|
|| die "Could not modify Texture file tedd.utx"
|
|
mv "${Ddir}"/Textures/UNDERANCIENT.utx "${Ddir}"/Textures/UnderAncient.utx \
|
|
|| die "Could not modify Texture file UNDERANCIENT.utx"
|
|
rm "${Ddir}"/System/{Setup.int,SGLDrv.int,MeTaLDrv.int,Manifest.int,D3DDrv.int,Galaxy.int,SoftDrv.int,WinDrv.int,Window.int} || die "Could not delete not needed System files"
|
|
|
|
# the most important things: rune and ucc :)
|
|
doexe "${S}"/bin/x86/rune || die "Could not install rune executable"
|
|
fperms 750 "${dir}"/System/{ucc,ucc-bin,rune-bin} \
|
|
|| die "Could not make executables executable"
|
|
|
|
# installing documentation/icon
|
|
dodoc "${S}"/{README,CREDITS} || die "Could not dodoc README.linux"
|
|
doicon "${S}"/rune.xpm rune.xpm || die "Could not copy pixmap"
|
|
;;
|
|
esac
|
|
|
|
use amd64 && mv "${Ddir}"/System/libSDL-1.2.so.0 \
|
|
"${Ddir}"/System/libSDL-1.2.so.0.backup
|
|
|
|
games_make_wrapper rune ./rune "${dir}" "${dir}"
|
|
make_desktop_entry rune "Rune" rune
|
|
find "${Ddir}" -exec touch '{}' \;
|
|
prepgamesdirs
|
|
}
|