forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
eternal-lands-data-1.9.3-r1.ebuild
104 lines (84 loc) · 3.16 KB
/
eternal-lands-data-1.9.3-r1.ebuild
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
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=2
inherit games
MUSIC_DATE="20060803"
MY_PV="${PV//_/}"
MY_PV="${MY_PV//./}"
MY_PN="${PN%*-data}"
DESCRIPTION="An online MMORPG written in C and SDL"
HOMEPAGE="http://www.eternal-lands.com"
SRC_URI="http://www.eternal-lands.com/el_linux_193.zip
music? ( mirror://gentoo/el_music_full-${MUSIC_DATE}.zip )
sound? ( http://www.eternallands.co.uk/EL_sound_191.zip )"
# WARNING: The music file is held at
# http://www.eternal-lands.com/page/music.php
# We only mirror it so that it is versioned by the date we mirrored it
# AND prefixed with el_ so as not cause any conflicts. Maybe oneday they will
# version their music, maybe not.
LICENSE="eternal_lands"
SLOT="0"
KEYWORDS="~amd64 ~x86 ~x86-fbsd"
IUSE="music sound bloodsuckermaps"
DEPEND="app-arch/unzip
!bloodsuckermaps? ( !games-rpg/eternal-lands-bloodsucker )"
PDEPEND="bloodsuckermaps? ( >=games-rpg/eternal-lands-bloodsucker-3.0_p20110618 )"
# Maybe one day upstream will do things in a consistent way.
S="${WORKDIR}/el_linux"
src_prepare() {
# Move our music files to the correct directory
if use music ; then
mkdir music
mv ../*.ogg ../*.pll music || die
fi
# Fix assertion error with >=libxml2-2.9 (see bug #449352)
xmllint --noent actor_defs/actor_defs.xml > actor_defs.xml || die "Failed parsing actor_defs.xml"
mv actor_defs.xml actor_defs
}
src_install() {
# These are provided by eternal-lands ebuild
rm license.txt
rm commands.lst
# don't install maps if using alternate maps
if use bloodsuckermaps ; then
rm maps/anitora.dds maps/cave1.dds maps/cont2map10.dds
rm maps/cont2map11.dds maps/cont2map12.dds maps/cont2map13.dds
rm maps/cont2map14.dds maps/cont2map15.dds maps/cont2map16.dds
rm maps/cont2map17.dds maps/cont2map18.dds maps/cont2map19.dds
rm maps/cont2map1.dds maps/cont2map20.dds maps/cont2map21.dds
rm maps/cont2map22.dds maps/cont2map23.dds maps/cont2map24.dds
rm maps/cont2map2.dds maps/cont2map3.dds maps/cont2map4.dds
rm maps/cont2map5.dds maps/cont2map6.dds maps/cont2map7.dds
rm maps/cont2map8.dds maps/cont2map9.dds maps/irilion.dds
rm maps/legend.dds maps/map11.dds maps/map12.dds
rm maps/map13.dds maps/map14f.dds maps/map15f.dds
rm maps/map2.dds maps/map3.dds maps/map4f.dds
rm maps/map5nf.dds maps/map6nf.dds maps/map7.dds
rm maps/map8.dds maps/map9f.dds maps/seridia.dds
rm maps/startmap.dds
fi
insopts -m 0660
insinto "${GAMES_DATADIR}/${MY_PN}"
doins -r 2dobjects 3dobjects actor_defs animations maps meshes \
particles skeletons shaders textures languages shaders skybox \
*.lst 3dobjects.txt *.xml \
|| die "doins failed"
if use music ; then
doins -r music || die "doins music failed"
fi
# Removed sound from above - need to handle sound support
cd "${WORKDIR}"
if use sound ; then
doins -r sound || die "doins sound failed"
fi
prepgamesdirs
}
pkg_postinst() {
games_pkg_postinst
# Ensure that the files are writable by the game group for auto
# updating.
chmod -R g+rw "${ROOT}/${GAMES_DATADIR}/${MY_PN}"
# Make sure new files stay in games group
find "${ROOT}/${GAMES_DATADIR}/${MY_PN}" -type d -exec chmod g+sx {} \;
}