# 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
}