diff options
Diffstat (limited to 'games-fps/warsow/warsow-1.5.1-r1.ebuild')
-rw-r--r-- | games-fps/warsow/warsow-1.5.1-r1.ebuild | 182 |
1 files changed, 182 insertions, 0 deletions
diff --git a/games-fps/warsow/warsow-1.5.1-r1.ebuild b/games-fps/warsow/warsow-1.5.1-r1.ebuild new file mode 100644 index 000000000000..b36b9e39ab3f --- /dev/null +++ b/games-fps/warsow/warsow-1.5.1-r1.ebuild @@ -0,0 +1,182 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +inherit eutils check-reqs gnome2-utils flag-o-matic games + +# BASE_DATA_PV=1.0 +# BASE_DATA_P=${PN}_${BASE_DATA_PV}_unified +DATA_PV=1.51 +UPDATE_P=${PN}_${DATA_PV}_update +ENGINE_PV=1.51 +ENGINE_P=${PN}_${ENGINE_PV}_sdk + +DESCRIPTION="Multiplayer FPS based on the QFusion engine (evolved from Quake 2)" +HOMEPAGE="http://www.warsow.net/" +SRC_URI="http://www.warsow.eu/${ENGINE_P}.tar.gz + http://www.warsow.eu/warsow_${DATA_PV}_unified.tar.gz + mirror://gentoo/warsow.png + mirror://gentoo/${P}-build.patch.gz" + +# ZLIB: bundled angelscript +LICENSE="GPL-2 ZLIB warsow" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="debug dedicated irc openal server" + +RDEPEND=">=dev-libs/libRocket-1.2.1_p20130110 + <dev-libs/libRocket-1.3.0.0 + media-libs/freetype + net-misc/curl + sys-libs/zlib + !dedicated? ( + media-libs/libpng:0 + media-libs/libsdl + media-libs/libtheora + media-libs/libvorbis + x11-libs/libX11 + x11-libs/libXi + x11-libs/libXinerama + x11-libs/libXrandr + x11-libs/libXxf86dga + x11-libs/libXxf86vm + virtual/jpeg + virtual/opengl + openal? ( media-libs/openal ) + )" +DEPEND="${RDEPEND} + app-arch/unzip + x11-misc/makedepend + !dedicated? ( + x11-proto/xineramaproto + x11-proto/xf86dgaproto + x11-proto/xf86vidmodeproto + ) + openal? ( virtual/pkgconfig )" + +S=${WORKDIR}/source/source + +CHECKREQS_DISK_BUILD="1G" +CHECKREQS_DISK_USR="500M" + +src_prepare() { + if [[ $(tc-getCC) =~ clang ]]; then + einfo "disabling -ffast-math due to clang bug" + einfo "http://llvm.org/bugs/show_bug.cgi?id=13745" + append-cflags -fno-fast-math + append-cxxflags -fno-fast-math + fi + + sed -i \ + -e "/fs_basepath =/ s:\.:${GAMES_DATADIR}/${PN}:" \ + qcommon/files.c \ + || die "sed files.c failed" + + # edos2unix breaks whitespace files + einfo "removing dos line breaks" + find . -type f -exec sed -i 's/\r$//' '{}' + || die + + cd "${S}"/.. || die + epatch "${WORKDIR}"/${P}-build.patch \ + "${FILESDIR}"/${P}-pic.patch \ + "${FILESDIR}"/${P}-openal.patch + epatch_user +} + +src_compile() { + emake -C ../libsrcs/angelscript/sdk/angelscript/projects/gnuc + + local arch + if use amd64 ; then + arch=x86_64 + elif use x86 ; then + arch=i386 + fi + + local myconf + if use dedicated ; then + myconf=( + BUILD_CLIENT=NO + BUILD_IRC=NO + BUILD_SND_OPENAL=NO + BUILD_SND_QF=NO + BUILD_CIN=NO + BUILD_SERVER=YES + BUILD_TV_SERVER=YES + BUILD_REF_GL=NO + ) + else + myconf=( + BUILD_CLIENT=YES + BUILD_IRC=$(usex irc YES NO) + BUILD_SND_OPENAL=$(usex openal YES NO) + BUILD_SND_QF=YES + BUILD_CIN=YES + BUILD_SERVER=$(usex server YES NO) + BUILD_TV_SERVER=$(usex server YES NO) + BUILD_REF_GL=YES + ) + fi + + emake \ + V=YES \ + SYSTEM_LIBS=YES \ + BASE_ARCH=${arch} \ + BINDIR=lib \ + BUILD_ANGELWRAP=YES \ + DEBUG_BUILD=$(usex debug YES NO) \ + ${myconf[@]} +} + +src_install() { + cd lib + + if ! use dedicated ; then + newgamesbin ${PN}.* ${PN} + doicon -s 48 "${DISTDIR}"/${PN}.png + make_desktop_entry ${PN} Warsow + fi + + if use dedicated || use server ; then + newgamesbin wsw_server.* ${PN}-ded + newgamesbin wswtv_server.* ${PN}-tv + fi + + exeinto "$(games_get_libdir)"/${PN} + doexe */*.so + + insinto "${GAMES_DATADIR}"/${PN} + doins -r "${WORKDIR}"/${PN}_15/basewsw + + local so + for so in basewsw/*.so ; do + dosym "$(games_get_libdir)"/${PN}/${so##*/} \ + "${GAMES_DATADIR}"/${PN}/${so} + done + + if [[ -e libs ]] ; then + dodir "${GAMES_DATADIR}"/${PN}/libs + for so in libs/*.so ; do + dosym "$(games_get_libdir)"/${PN}/${so##*/} \ + "${GAMES_DATADIR}"/${PN}/${so} + done + fi + + dodoc "${WORKDIR}"/${PN}_15/docs/* + prepgamesdirs +} + +pkg_preinst() { + games_pkg_preinst + gnome2_icon_savelist +} + +pkg_postinst() { + games_pkg_postinst + gnome2_icon_cache_update +} + +pkg_postrm() { + gnome2_icon_cache_update +} |