# Copyright 1999-2009 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ inherit eutils flag-o-matic versionator games MY_PV=$(get_version_component_range 3) DESCRIPTION="A game similar to Settlers 2" HOMEPAGE="http://www.widelands.org/" # Build 13 breaks previous naming conventions # (used to be ${PN}-build-${PV}-source.tar.bz2) SRC_URI="mirror://sourceforge/${PN}/Widelands-Build${MY_PV}-src.tar.bz2" LICENSE="GPL-2" SLOT="0" KEYWORDS="~amd64 ~ppc ~x86" #IUSE="nls shrink" IUSE="shrink" RDEPEND="media-libs/libsdl media-libs/sdl-image >=media-libs/sdl-mixer-1.2.6 media-libs/sdl-net >=media-libs/sdl-ttf-2.0 media-libs/sdl-gfx media-libs/libpng >=dev-libs/boost-1.33 nls? ( virtual/libintl )" DEPEND="${RDEPEND} nls? ( sys-devel/gettext ) shrink? ( media-gfx/optipng mediga-gfx/pngrewrite ) >=dev-util/scons-1.0" S=${WORKDIR}/${PN}-b13 src_unpack() { if use shrink; then ewarn "You have activated png shrinking. This is usually only" ewarn "done upstream. Expect it to last many hours, as it is" ewarn "single threaded." fi unpack ${A} # build 13 breaks standard unpacking: creates widelands-b13 # per discussions in IRC, S variable updated instead of a mv # mv "${WORKDIR}/widelands-b13" "${S}" cd "${S}" # strip-linguas -u po # per comment 3 in bug #249396 scons works without patching # makefile is unsupported, perhaps even broken # rm -f $(find . -name SConscript) # when build=release, scons strips the binary, we'll do that ourselves # per discussion in IRC. Using sed inside the ebuild instead of external # patch. sed -i -e "s:env.strip=1::g" build/scons-tools/scons_configure.py \ || die "sed no-strip failed" sed -i 's:__ppc__:__PPC__:' src/s2map.cc \ || die "sed s2map.cc failed" sed -i "s:/usr/share/games:${GAMES_DATADIR}:" src/wlapplication.cc \ || die "sed wlapplication.cc failed" sed -i "s:/l/WiLa/Setup:${GAMES_DATADIR}/${PN}:" src/config.h.default \ || die "sed config.h.default failed" # sed -i "s:Action\(buildlocale\):Action\(buildlocale, \"$LINGUAS\"\):g" \ # SConstruct \ # || die "sed SConscript failed" # build system does not allow separate location for doc. Doing manually sed -i "s:\(instadd(env, '.*', 'doc')\):#\1:g" } src_compile() { #TODO: most CFLAGS will be overriden by target default configuration filter-flags -fomit-frame-pointer use shrink && ( scons shrink || die "scons shrink failed" ) scons \ build=release \ build_id=${PVR} \ extra_compile_flags="${CFLAGS}" \ install_prefix=${D}/usr \ bindir=${D}${GAMES_BINDIR} \ datadir=${D}${GAMES_DATADIR}/widelands \ localedir=${D}/usr/share/locale || die "scons failed" } src_install() { scons install || die "scons install failed" newicon pics/wl-ico-48.png ${PN}.png make_desktop_entry ${PN} Widelands dodoc ChangeLog CREDITS prepgamesdirs }