blob: 4c3c9fe064d2e444e8f8128aba3f42158721e655 [file] [log] [blame]
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
inherit eutils flag-o-matic games
MY_P=${P/o-a/oa}
DESCRIPTION="UFO: Alien Invasion - X-COM inspired strategy game"
HOMEPAGE="http://ufoai.sourceforge.net/"
SRC_URI="mirror://sourceforge/ufoai/${MY_P}-source.tar.bz2
mirror://sourceforge/ufoai/${MY_P}-data.tar
http://mattn.ninex.info/1maps.pk3"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ~ppc x86"
IUSE="debug dedicated editor"
# Dependencies and more instructions can be found here:
# http://ufoai.ninex.info/wiki/index.php/Compile_for_Linux
DEPEND="!dedicated? (
virtual/opengl
virtual/glu
media-libs/libsdl
media-libs/sdl-image[jpeg,png]
media-libs/sdl-ttf
media-libs/sdl-mixer
virtual/jpeg
media-libs/libpng:0
media-libs/libogg
media-libs/libvorbis
x11-proto/xf86vidmodeproto
)
net-misc/curl
sys-devel/gettext
sys-libs/zlib
editor? (
dev-libs/libxml2
virtual/jpeg
media-libs/openal
x11-libs/gtkglext
x11-libs/gtksourceview:2.0
)"
S=${WORKDIR}/${MY_P}-source
src_prepare() {
if has_version '>=sys-libs/zlib-1.2.5.1-r1' ; then
sed -i -e '1i#define OF(x) x' src/common/ioapi.h || die
fi
# don't try to use the system mini-xml
sed -i -e '/mxml/d' configure || die
epatch \
"${FILESDIR}"/${P}-mathlib.patch \
"${FILESDIR}"/${P}-anon.patch \
"${FILESDIR}"/${P}-locale.patch
cp "${DISTDIR}"/1maps.pk3 "${WORKDIR}"/base/ || die
mv "${WORKDIR}"/base/ "${S}"/ || die
}
src_configure() {
# they are special and provide hand batched configure file
local myconf="
--disable-dependency-tracking
$(use_enable !debug release)
$(use_enable editor ufo2map)
$(use_enable editor uforadiant)
--enable-ufoded
--bindir="${GAMES_BINDIR}"
--libdir="$(games_get_libdir)"
--datadir="${GAMES_DATADIR}/${PN/-}"
--localedir="${EPREFIX}/usr/share/locale/"
--prefix="${GAMES_PREFIX}"
"
echo "./configure ${myconf}"
./configure ${myconf} || die
}
src_compile() {
emake
emake lang
if use editor; then
emake uforadiant
fi
}
src_install() {
newicon src/ports/linux/ufo.png ${PN}.png
dobin ufoded
make_desktop_entry ufoded "UFO: Alien Invasion Server" ${PN}
if ! use dedicated; then
dobin ufo
make_desktop_entry ufo "UFO: Alien Invasion" ${PN}
fi
if use editor; then
dobin ufo2map ufomodel
fi
# install data
insinto "${GAMES_DATADIR}"/${PN/-}
doins -r base
rm -rf "${ED}/${GAMES_DATADIR}/${PN/-}/base/game.so"
dogameslib base/game.so
# move translations where they belong
dodir "${GAMES_DATADIR_BASE}/locale"
mv "${ED}/${GAMES_DATADIR}/${PN/-}/base/i18n/"* \
"${ED}/${GAMES_DATADIR_BASE}/locale/" || die
rm -rf "${ED}/${GAMES_DATADIR}/${PN/-}/base/i18n/" || die
prepgamesdirs
}