# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/games-rpg/eternal-lands-data/eternal-lands-data-1.9.3-r1.ebuild,v 1.1 2013/07/06 16:58:23 calchan Exp $ 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://twinmoons.org.uk/el/rel/194/EL-1.9.4-all-datafiles.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-1.9.4-datafiles/" 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 {} \; }