gentoo-overlay/games-strategy/0ad/0ad-99999.ebuild

128 lines
2.7 KiB
Bash

# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI=3
WX_GTK_VER="2.8"
inherit eutils subversion wxwidgets games
MY_PV="r${PV%_*}-alpha"
MY_P=${PN}-${MY_PV}
DESCRIPTION="A free, real-time strategy game"
HOMEPAGE="http://wildfiregames.com/0ad/"
ESVN_REPO_URI="http://svn.wildfiregames.com/public/ps/trunk"
LICENSE="GPL-2 LGPL-2.1 MIT CCPL-Attribution-ShareAlike-3.0 as-is"
SLOT="0"
KEYWORDS=""
IUSE="+audio +editor fam +nvtt +pch test"
RDEPEND="
>=dev-lang/spidermonkey-1.8.5
dev-libs/boost
dev-libs/libxml2
!games-strategy/0ad-data
media-libs/libpng:0
media-libs/libsdl[X,audio?,opengl,video]
net-libs/enet:1.3
net-misc/curl
sys-libs/zlib
virtual/jpeg
virtual/opengl
audio? ( media-libs/libogg
media-libs/libvorbis
media-libs/openal )
editor? ( x11-libs/wxGTK:2.8[X] )
fam? ( virtual/fam )
nvtt? ( dev-util/nvidia-texture-tools )
"
DEPEND="${RDEPEND}
dev-util/pkgconfig
test? ( dev-lang/perl )"
S=${WORKDIR}/trunk
pkg_setup() {
games_pkg_setup
if ! use pch ; then
eerror "pch useflag is potentially broken"
eerror "see http://trac.wildfiregames.com/ticket/1313"
fi
}
src_unpack() {
subversion_src_unpack
}
src_prepare() {
# respect flags for 3rd party fcollada
epatch "${FILESDIR}"/11339_alpha9-fcollada-makefile.patch
}
src_configure() {
cd build/workspaces || die
# custom configure script
local myconf
use nvtt || myconf="--without-nvtt"
use fam || myconf="${myconf} --without-fam"
use pch || myconf="${myconf} --without-pch"
use test || myconf="${myconf} --without-tests"
use audio || myconf="${myconf} --without-audio"
# don't use bundled sources
./update-workspaces.sh \
--with-system-nvtt \
--with-system-enet \
--with-system-mozjs185 \
$(use_enable editor atlas) \
--bindir="${GAMES_BINDIR}" \
--libdir="$(games_get_libdir)"/${PN} \
--datadir="${GAMES_DATADIR}"/${PN} \
${myconf} || die
}
src_compile() {
cd build/workspaces/gcc || die
emake CONFIG=Release verbose=1 || die
}
src_test() {
cd binaries/system || die
if use nvtt ; then
./test || die "test phase failed"
else
ewarn "Skipping tests because USE nvtt is disabled"
fi
}
src_install() {
# data
insinto "${GAMES_DATADIR}"/${PN}
doins -r binaries/data/* || die
# bin
dogamesbin binaries/system/pyrogenesis || die
# libs
exeinto "$(games_get_libdir)"/${PN}
doexe binaries/system/libCollada.so || die
if use editor ; then
doexe binaries/system/libAtlasUI.so || die
fi
# other
dodoc binaries/system/readme.txt || die
doicon build/resources/${PN}.png || die
games_make_wrapper ${PN} "${GAMES_BINDIR}/pyrogenesis"
make_desktop_entry ${PN} ${PN} ${PN}
# permissions
prepgamesdirs
}