Skip to content

Instantly share code, notes, and snippets.

@hasufell
Created July 29, 2012 14:19
Show Gist options
  • Save hasufell/3199191 to your computer and use it in GitHub Desktop.
Save hasufell/3199191 to your computer and use it in GitHub Desktop.
--- /var/cvsroot/gentoo-x86/games-fps/warsow/warsow-0.62.ebuild
+++ /usr/local/portage/games-fps/warsow/warsow-1.0.ebuild
@@ -1,52 +1,53 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/games-fps/warsow/warsow-0.62.ebuild,v 1.3 2012/06/13 16:36:36 ago Exp $
+# $Header: $
-EAPI=2
-inherit eutils toolchain-funcs versionator games
+EAPI=4
+inherit eutils check-reqs toolchain-funcs gnome2-utils games
MY_P=${PN}_${PV}
-BASE_P=${PN}_0.61
DESCRIPTION="Multiplayer FPS based on the QFusion engine (evolved from Quake 2)"
HOMEPAGE="http://www.warsow.net/"
-SRC_URI="http://www.zcdn.org/dl/${BASE_P}_unified.zip
- http://www.zcdn.org/dl/${MY_P}_update.zip
- http://www.zcdn.org/dl/${MY_P}_sdk.zip
+SRC_URI="http://funpark.warsow-esport.net/~${PN}/${PV}/${MY_P}_unified.tar.gz
+ http://funpark.warsow-esport.net/~${PN}/${PV}/${MY_P}_sdk.tar.gz
mirror://gentoo/${PN}.png"
LICENSE="GPL-2 warsow"
SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="+angelscript debug dedicated irc openal opengl"
+KEYWORDS="~amd64 ~x86"
+IUSE="+angelscript debug dedicated irc openal server"
-UIRDEPEND="virtual/jpeg
- media-libs/libvorbis
- media-libs/libsdl
- virtual/opengl
- x11-libs/libXinerama
- x11-libs/libXxf86dga
- x11-libs/libXxf86vm
- openal? ( media-libs/openal )"
-RDEPEND="net-misc/curl
- opengl? ( ${UIRDEPEND} )
- !opengl? ( !dedicated? ( ${UIRDEPEND} ) )"
-UIDEPEND="x11-proto/xineramaproto
- x11-proto/xf86dgaproto
- x11-proto/xf86vidmodeproto
+RDEPEND="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/libXinerama
+ x11-libs/libXrandr
+ x11-libs/libXxf86dga
+ x11-libs/libXxf86vm
+ virtual/jpeg
+ virtual/opengl
+ openal? ( media-libs/openal )
+ )"
+DEPEND="${RDEPEND}
+ x11-misc/makedepend
+ !dedicated? (
+ x11-proto/xineramaproto
+ x11-proto/xf86dgaproto
+ x11-proto/xf86vidmodeproto
+ )
openal? ( virtual/pkgconfig )"
-DEPEND="${RDEPEND}
- app-arch/unzip
- x11-misc/makedepend
- opengl? ( ${UIDEPEND} )
- !opengl? ( !dedicated? ( ${UIDEPEND} ) )"
-S=${WORKDIR}/source
+S=${WORKDIR}/${MY_P}_sdk/source
+S_U=${WORKDIR}/${MY_P}
-src_unpack() {
- unpack ${BASE_P}_unified.zip ${MY_P}_sdk.zip
- cd ${BASE_P}_unified || die
- unpack ${MY_P}_update.zip
-}
+CHECKREQS_DISK_BUILD="1G"
+CHECKREQS_DISK_USR="500M"
src_prepare() {
sed -i \
@@ -55,32 +56,23 @@
|| die "sed files.c failed"
sed -i \
- -e "s:jpeg_mem_src:_&:" \
- ref_gl/r_image.c || die
+ -e "s:q_jpeg_mem_src:_&:" \
+ ref_gl/r_image.c || die "sed r_image.c failed"
- cd "${WORKDIR}"
- rm -rf docs/old
- epatch \
- "${FILESDIR}"/${P}-build.patch \
+ rm -r "${S_U}"/docs/old* || die
+
+ cd "${WORKDIR}"/${MY_P}_sdk || die
+ epatch "${FILESDIR}"/${P}-build.patch \
"${FILESDIR}"/${PN}-0.5-pic.patch
}
src_compile() {
yesno() { use ${1} && echo YES || echo NO ; }
- local client="NO" irc="NO" openal="NO"
- if use opengl || ! use dedicated ; then
- client="YES"
- use irc && irc="YES"
- use openal && openal="YES"
- fi
+ tc-export AR RANLIB
- if use angelscript ; then
- tc-export AR RANLIB
- emake \
- -C ../libsrcs/angelscript/angelSVN/sdk/angelscript/projects/gnuc \
- || die "emake angelscript failed"
- fi
+ use angelscript &&
+ emake -C ../libsrcs/angelscript/angelSVN/sdk/angelscript/projects/gnuc
local arch
if use amd64 ; then
@@ -89,54 +81,86 @@
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
+ )
+ else
+ myconf=(
+ BUILD_CLIENT=YES
+ BUILD_IRC=$(yesno irc)
+ BUILD_SND_OPENAL=$(yesno openal)
+ BUILD_SND_QF=YES
+ BUILD_CIN=YES
+ BUILD_SERVER=$(yesno server)
+ BUILD_TV_SERVER=$(yesno server)
+ )
+ fi
+
emake \
BASE_ARCH=${arch} \
BINDIR=bin \
- BUILD_CLIENT=${client} \
- BUILD_SERVER=$(yesno dedicated) \
- BUILD_TV_SERVER=$(yesno dedicated) \
BUILD_ANGELWRAP=$(yesno angelscript) \
- BUILD_IRC=${irc} \
- BUILD_SND_OPENAL=${openal} \
- BUILD_SND_QF=${client} \
DEBUG_BUILD=$(yesno debug) \
- || die "emake failed"
+ ${myconf[@]}
}
src_install() {
cd bin
- if use opengl || ! use dedicated ; then
- newgamesbin ${PN}.* ${PN} || die "newgamesbin ${PN} failed"
- doicon "${DISTDIR}"/${PN}.png
+ if ! use dedicated ; then
+ newgamesbin ${PN}.* ${PN}
+ doicon -s 48 "${DISTDIR}"/${PN}.png
make_desktop_entry ${PN} Warsow
fi
- if use dedicated ; then
- newgamesbin wsw_server.* ${PN}-ded || die "newgamesbin ${PN}-ded failed"
- newgamesbin wswtv_server.* ${PN}-tv || die "newgamesbin ${PN}-tv failed"
+ if use dedicated || use server ; then
+ newgamesbin wsw_server.* ${PN}-ded
+ newgamesbin wswtv_server.* ${PN}-tv
fi
exeinto "$(games_get_libdir)"/${PN}
- doexe */*.so || die "doexe failed"
+ doexe */*.so
insinto "${GAMES_DATADIR}"/${PN}
- doins -r "${WORKDIR}/${BASE_P}_unified"/basewsw || die "doins failed"
+ doins -r "${S_U}"/basewsw
+
local so
for so in basewsw/*.so ; do
dosym "$(games_get_libdir)"/${PN}/${so##*/} \
- "${GAMES_DATADIR}"/${PN}/${so} || die "dosym ${so} failed"
+ "${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} || die "dosym ${so} failed"
+ "${GAMES_DATADIR}"/${PN}/${so}
done
fi
- dodoc "${WORKDIR}"/docs/*
+ dodoc "${S_U}"/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
+}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment