1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=6
inherit eutils cdrom
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"
IUSE=""
RESTRICT="strip"
RDEPEND="dev-util/xdelta:0
>=media-libs/libsdl-1.2.9-r1[abi_x86_32(-)]
x11-libs/libXext[abi_x86_32(-)]
x11-libs/libX11[abi_x86_32(-)]
virtual/opengl[abi_x86_32(-)]"
S=${WORKDIR}
dir=/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
elif [[ ${CDROM_SET} -eq 1 ]]
then
# unpack the runelinuxfiles.tar.gz
unpack ${A}
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
done
# copy linux specific files
doins -r "${CDROM_ROOT}"/System
# the most important things: rune and ucc :)
doexe "${CDROM_ROOT}"/bin/x86/rune
fperms 750 "${dir}"/System/{ucc{,-bin},rune-bin}
# installing documentation/icon
dodoc "${CDROM_ROOT}"/{README,CREDITS}
newicon "${CDROM_ROOT}"/icon.xpm rune.xpm
;;
1)
# copying Maps Sounds and Web
for x in Maps Sounds Web
do
doins -r "${CDROM_ROOT}"/$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
done
doins -r "${S}"/System
doins -r "${S}"/Help
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}
done
insinto "${dir}"/System
# copying system files from the Windows CD
for x in "${CDROM_ROOT}"/System/*.{int,u,url}; do
doins $x
done
# modify the files
mv "${Ddir}"/System/OpenGlDrv.int "${Ddir}"/System/OpenGLDrv.int \
|| die
mv "${Ddir}"/Textures/bloodFX.utx "${Ddir}"/Textures/BloodFX.utx \
|| die
mv "${Ddir}"/Textures/RUNESTONES.UTX "${Ddir}"/Textures/RUNESTONES.utx \
|| die
mv "${Ddir}"/Textures/tedd.utx "${Ddir}"/Textures/Tedd.utx \
|| die
mv "${Ddir}"/Textures/UNDERANCIENT.utx "${Ddir}"/Textures/UnderAncient.utx \
|| die
rm "${Ddir}"/System/{Setup.int,SGLDrv.int,MeTaLDrv.int,Manifest.int,D3DDrv.int,Galaxy.int,SoftDrv.int,WinDrv.int,Window.int} \
|| die
# the most important things: rune and ucc :)
doexe "${S}"/bin/x86/rune
fperms 750 "${dir}"/System/{ucc,ucc-bin,rune-bin}
# installing documentation/icon
dodoc "${S}"/{README,CREDITS}
doicon "${S}"/rune.xpm rune.xpm
;;
esac
use amd64 && mv "${Ddir}"/System/libSDL-1.2.so.0 \
"${Ddir}"/System/libSDL-1.2.so.0.backup
make_wrapper rune ./rune "${dir}" "${dir}"
make_desktop_entry rune "Rune" rune
find "${Ddir}" -exec touch '{}' \; || die
}
|