blob: 479ad0fc9bcbb2d4761e1600db39fea23c25f512 (
plain)
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
131
132
133
134
135
136
137
138
139
140
141
|
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/games-rpg/eternal-lands/eternal-lands-1.1.2.ebuild,v 1.3 2005/10/28 14:34:38 wolf31o2 Exp $
inherit games
MY_PV=${PV%_p*}
DESCRIPTION="An online MMORPG written in C and SDL"
HOMEPAGE="http://www.eternal-lands.com"
SRC_URI="http://el.tfm.ro/el_${MY_PV//.}_linux.zip
ftp://ftp.berlios.de/pub/elc/elc_${MY_PV//.}.tgz
mapeditor? ( ftp://ftp.berlios.de/pub/elc/mapedit_${MY_PV//.}.tgz )
!nomusic? ( http://el.tfm.ro/el_music_101.zip )"
LICENSE="eternal_lands"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="doc mapeditor nomusic"
RDEPEND="virtual/x11
virtual/opengl
>=media-libs/libsdl-1.2.5
>=media-libs/sdl-net-1.2.5
<media-libs/openal-20051024
!>=media-libs/openal-20051024
!media-libs/alut
media-libs/libvorbis
>=dev-libs/libxml2-2.6.7
=media-libs/cal3d-0.10.0
>=media-libs/libpng-1.2.8
mapeditor? ( >=x11-libs/gtk+-2.4 )"
DEPEND="${RDEPEND}
app-arch/unzip
doc? ( >=app-doc/doxygen-1.3.8
>=media-gfx/graphviz-1.10 )"
src_unpack() {
OPTIONS="OPTIONS=-DDATA_DIR="\\\\\"${GAMES_DATADIR}/${PN}/\\\\\"""
S_CLIENT="${WORKDIR}/elc"
S_MAPEDITOR="${WORKDIR}/map_editor"
BROWSER="mozilla"
unpack ${A}
use amd64 && OPTIONS="${OPTIONS} -DX86_64"
cd "${S_CLIENT}"
sed \
-e "s@CFLAGS=\$(PLATFORM) \$(CWARN) -O -ggdb -pipe@CFLAGS=${CFLAGS} @g"\
-e "s@CXXFLAGS=\$(PLATFORM) \$(CXXWARN) -O -ggdb -pipe@CXXFLAGS=${CXXFLAGS} @g"\
-e "s@OPTIONS=@${OPTIONS} @g" \
Makefile.linux > Makefile \
|| die "sed failed"
sed \
-e 's/#browser/browser/g' \
-e "s/browser = mozilla/#browser = ${BROWSER}/g" \
-e "s@#data_dir = /usr/local/games/el/@#data_dir = ${GAMES_DATADIR}/${PN}/@g" \
el.ini > ../el.ini \
|| die "sed failed"
if use mapeditor; then
cd "${S_MAPEDITOR}"
sed \
-e "s@CFLAGS=@CFLAGS=${CFLAGS} @g" \
-e "s@OPTIONS=@${OPTIONS} @g" \
Makefile.linux > Makefile \
|| die "sed failed"
sed \
-e "s@#data_dir = /usr/local/games/el/@#data_dir = ${GAMES_DATADIR}/${PN}/@g" \
mapedit.ini > ../mapedit.ini \
|| die "sed failed"
mv browser.lst ../browser.lst
fi
cd "${WORKDIR}"
cp license.txt EULA || die "cp failed"
cp -r "${S_CLIENT}"/languages .
}
src_compile() {
cd "${S_CLIENT}"
emake || die "emake failed"
cp el.x86.linux.bin ../el.x86.linux.bin || die "cp failed"
if use doc; then
emake docs || die "Failed to create documentation, try with USE=-doc"
mv ./docs/html/ ../client || die "Failed to move documentation directory"
fi
if use mapeditor; then
cd "${S_MAPEDITOR}"
emake || die "emake failed"
cp mapedit.x86.linux.bin ../mapedit.x86.linux.bin || die "cp failed"
fi
}
src_install() {
cd "${WORKDIR}"
newgamesbin el.x86.linux.bin el || die "newgamesbin failed"
newicon el_icon.png ${PN}.png || die "newicon failed"
make_desktop_entry el "Eternal Lands"
dodoc EULA
insinto "${GAMES_DATADIR}/${PN}"
doins -r 2dobjects 3dobjects languages maps particles sound textures tiles \
meshes animations actor_defs books skeletons \
*.ini entrable.lst harvestable.lst \
global_filters.txt e3dlist.txt \
|| die "doins failed"
if use mapeditor; then
newgamesbin mapedit.x86.linux.bin el-mapedit || die "newgamesbin failed"
doins -r browser.lst mapeditor || die "doins failed"
dohtml -r "${WORKDIR}/mapeditor" || die
make_desktop_entry el-mapedit "Map editor"
fi
if ! use nomusic ; then
doins -r music/ || die "doins failed"
fi
if use doc ; then
dohtml -r "${WORKDIR}/client/"*
fi
prepgamesdirs
}
pkg_postinst() {
games_pkg_postinst
echo
einfo "To run the game: el"
echo
if use mapeditor; then
einfo "To use the map editor: el-mapedit"
einfo "Copy ${GAMES_DATADIR}/${PN}/mapedit.ini to ~/.elc/"
einfo "to make per-user changes."
echo
einfo "To read an introduction to the map editor, read"
einfo "/usr/share/doc/${PF}/html/mapeditor.html"
echo
fi
if use doc; then
einfo "The documentation for the client source can be found"
einfo "in /usr/share/doc/${PF}/html/index.html"
echo
fi
}
|