# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 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 ~ppc64 ~x86 ~x86-fbsd" IUSE="dbus dedicated doc fribidi nls server" RDEPEND=">=media-libs/libsdl2-2.0.4:0[joystick,video,X] media-libs/sdl2-net !dedicated? ( >=media-libs/sdl2-ttf-2.0.12 >=media-libs/sdl2-mixer-2.0.0[vorbis] >=media-libs/sdl2-image-2.0.0[jpeg,png] fribidi? ( dev-libs/fribidi ) dbus? ( sys-apps/dbus ) sys-libs/zlib media-libs/libvorbis >=x11-libs/pango-1.22.0 >=x11-libs/cairo-1.10.0 >=media-libs/fontconfig-2.4.1 dev-lang/lua:0 ) >=dev-libs/boost-1.50:=[nls,threads] virtual/libintl" DEPEND="${RDEPEND} virtual/pkgconfig sys-devel/gettext" src_prepare() { cmake-utils_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 # 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.md players_changelog.md" cmake-utils_src_install if use dedicated || use server; then keepdir "${GAMES_STATEDIR}/run/wesnothd" doinitd "${T}"/wesnothd fi prepgamesdirs }