|
|
|
# Copyright 1999-2015 Gentoo Foundation
|
|
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
# $Id$
|
|
|
|
|
|
|
|
EAPI=5
|
|
|
|
inherit cmake-utils eutils multilib toolchain-funcs flag-o-matic games
|
|
|
|
|
|
|
|
DESCRIPTION="Battle for Wesnoth - A fantasy turn-based strategy game"
|
|
|
|
HOMEPAGE="http://www.wesnoth.org/"
|
|
|
|
SRC_URI="mirror://sourceforge/wesnoth/${P}.tar.bz2"
|
|
|
|
|
|
|
|
LICENSE="GPL-2"
|
|
|
|
SLOT="0"
|
|
|
|
KEYWORDS="amd64 ~ppc ~ppc64 x86 ~x86-fbsd"
|
|
|
|
IUSE="dbus dedicated doc fribidi nls server"
|
|
|
|
|
|
|
|
RDEPEND=">=media-libs/libsdl-1.2.7:0[joystick,video,X]
|
|
|
|
media-libs/sdl-net
|
|
|
|
!dedicated? (
|
|
|
|
>=media-libs/sdl-ttf-2.0.8
|
|
|
|
>=media-libs/sdl-mixer-1.2[vorbis]
|
|
|
|
>=media-libs/sdl-image-1.2[jpeg,png]
|
|
|
|
fribidi? ( dev-libs/fribidi )
|
|
|
|
dbus? ( sys-apps/dbus )
|
|
|
|
sys-libs/zlib
|
|
|
|
x11-libs/pango
|
|
|
|
dev-lang/lua:0
|
|
|
|
media-libs/fontconfig
|
|
|
|
)
|
|
|
|
>=dev-libs/boost-1.48:=[nls,threads]
|
|
|
|
virtual/libintl"
|
|
|
|
DEPEND="${RDEPEND}
|
|
|
|
virtual/pkgconfig
|
|
|
|
sys-devel/gettext"
|
|
|
|
|
|
|
|
src_prepare() {
|
|
|
|
if use dedicated || use server ; then
|
|
|
|
sed \
|
|
|
|
-e "s:GAMES_BINDIR:${GAMES_BINDIR}:" \
|
|
|
|
-e "s:GAMES_STATEDIR:${GAMES_STATEDIR}:" \
|
|
|
|
-e "s/GAMES_USER_DED/${GAMES_USER_DED}/" \
|
|
|
|
-e "s/GAMES_GROUP/${GAMES_GROUP}/" "${FILESDIR}"/wesnothd.rc \
|
|
|
|
> "${T}"/wesnothd || die
|
|
|
|
fi
|
|
|
|
if ! use doc ; then
|
|
|
|
sed -i \
|
|
|
|
-e '/manual/d' \
|
|
|
|
doc/CMakeLists.txt || die
|
|
|
|
fi
|
|
|
|
# bug #472994
|
|
|
|
mv icons/wesnoth-icon-Mac.png icons/wesnoth-icon.png || die
|
|
|
|
mv icons/map-editor-icon-Mac.png icons/wesnoth_editor-icon.png || die
|
|
|
|
|
|
|
|
# respect LINGUAS (bug #483316)
|
|
|
|
if [[ ${LINGUAS+set} ]] ; then
|
|
|
|
local langs
|
|
|
|
for lang in $(cat po/LINGUAS)
|
|
|
|
do
|
|
|
|
has $lang $LINGUAS && langs+="$lang "
|
|
|
|
done
|
|
|
|
echo "$langs" > po/LINGUAS || die
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
src_configure() {
|
|
|
|
filter-flags -ftracer -fomit-frame-pointer
|
|
|
|
if [[ $(gcc-major-version) -eq 3 ]] ; then
|
|
|
|
filter-flags -fstack-protector
|
|
|
|
append-flags -fno-stack-protector
|
|
|
|
fi
|
|
|
|
# Work around eclass
|
|
|
|
append-flags -UNDEBUG
|
|
|
|
if use dedicated || use server ; then
|
|
|
|
mycmakeargs=(
|
|
|
|
"-DENABLE_CAMPAIGN_SERVER=TRUE"
|
|
|
|
"-DENABLE_SERVER=TRUE"
|
|
|
|
"-DSERVER_UID=${GAMES_USER_DED}"
|
|
|
|
"-DSERVER_GID=${GAMES_GROUP}"
|
|
|
|
"-DFIFO_DIR=${GAMES_STATEDIR}/run/wesnothd"
|
|
|
|
)
|
|
|
|
else
|
|
|
|
mycmakeargs=(
|
|
|
|
$(cmake-utils_use_enable fribidi FRIBIDI)
|
|
|
|
"-DENABLE_CAMPAIGN_SERVER=FALSE"
|
|
|
|
"-DENABLE_SERVER=FALSE"
|
|
|
|
)
|
|
|
|
fi
|
|
|
|
mycmakeargs+=(
|
|
|
|
$(cmake-utils_use_enable !dedicated GAME)
|
|
|
|
$(cmake-utils_use_enable !dedicated ENABLE_DESKTOP_ENTRY)
|
|
|
|
$(cmake-utils_use_enable nls NLS)
|
|
|
|
$(cmake-utils_use_enable dbus NOTIFICATIONS)
|
|
|
|
"-DCMAKE_VERBOSE_MAKEFILE=TRUE"
|
|
|
|
"-DENABLE_STRICT_COMPILATION=FALSE"
|
|
|
|
"-DCMAKE_INSTALL_PREFIX=${GAMES_PREFIX}"
|
|
|
|
"-DDATAROOTDIR=${GAMES_DATADIR}"
|
|
|
|
"-DBINDIR=${GAMES_BINDIR}"
|
|
|
|
"-DICONDIR=/usr/share/pixmaps"
|
|
|
|
"-DDESKTOPDIR=/usr/share/applications"
|
|
|
|
"-DLOCALEDIR=/usr/share/locale"
|
|
|
|
"-DMANDIR=/usr/share/man"
|
|
|
|
"-DDOCDIR=/usr/share/doc/${PF}"
|
|
|
|
)
|
|
|
|
cmake-utils_src_configure
|
|
|
|
}
|
|
|
|
|
|
|
|
src_compile() {
|
|
|
|
cmake-utils_src_compile
|
|
|
|
}
|
|
|
|
|
|
|
|
src_install() {
|
|
|
|
DOCS="README.md changelog players_changelog" cmake-utils_src_install
|
|
|
|
if use dedicated || use server; then
|
|
|
|
keepdir "${GAMES_STATEDIR}/run/wesnothd"
|
|
|
|
doinitd "${T}"/wesnothd
|
|
|
|
fi
|
|
|
|
prepgamesdirs
|
|
|
|
}
|