| # Copyright 1999-2015 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| # $Id$ |
| |
| EAPI=5 |
| inherit check-reqs eutils gnome2-utils pax-utils games |
| |
| ENGINE_PV=${PV} |
| FULL_P=UrbanTerror42_full022 |
| UPDATE_PV=${PV:0:3}.${FULL_P#*full} |
| DESCRIPTION="Hollywood tactical shooter based on the ioquake3 engine" |
| HOMEPAGE="http://www.urbanterror.info/home/" |
| SRC_URI="http://up.barbatos.fr/urt/${FULL_P}.zip |
| https://github.com/Barbatos/ioq3-for-UrbanTerror-4/archive/release-${ENGINE_PV}.tar.gz -> ${PN}-${ENGINE_PV}.tar.gz |
| http://upload.wikimedia.org/wikipedia/en/5/56/Urbanterror.svg -> ${PN}.svg" |
| |
| # fetch updates |
| if [[ ${FULL_P#*full} != ${PV#*.} ]] ; then |
| UPDATE_I=${UPDATE_PV:5:2} |
| while [[ ${UPDATE_I} -lt ${PV:5:2} ]] ; do |
| SRC_URI="${SRC_URI} http://up.barbatos.fr/urt/UrbanTerror-${PV:0:5}${UPDATE_I}-to-${PV:0:5}$(( ${UPDATE_I} + 1)).zip" |
| UPDATE_I=$(( ${UPDATE_I} + 1)) |
| done |
| fi |
| unset UPDATE_I |
| |
| LICENSE="GPL-2 Q3AEULA-20000111 urbanterror-4.2-maps" |
| SLOT="0" |
| KEYWORDS="amd64 x86" |
| IUSE="+altgamma +curl debug dedicated openal pax_kernel +sdl server smp vorbis" |
| RESTRICT="mirror" |
| |
| RDEPEND=" |
| !dedicated? ( |
| virtual/opengl |
| curl? ( net-misc/curl ) |
| openal? ( media-libs/openal ) |
| sdl? ( media-libs/libsdl[X,sound,joystick,opengl,video] ) |
| !sdl? ( x11-libs/libX11 |
| x11-libs/libXext |
| x11-libs/libXxf86dga |
| x11-libs/libXxf86vm ) |
| vorbis? ( media-libs/libogg |
| media-libs/libvorbis ) |
| )" |
| DEPEND="${RDEPEND} |
| app-arch/unzip |
| dedicated? ( curl? ( net-misc/curl ) )" |
| |
| S=${WORKDIR}/ioq3-for-UrbanTerror-4-release-${ENGINE_PV} |
| S_DATA=${WORKDIR}/UrbanTerror42 |
| |
| CHECKREQS_DISK_BUILD="3300M" |
| CHECKREQS_DISK_USR="1550M" |
| |
| pkg_pretend() { |
| check-reqs_pkg_pretend |
| |
| if ! use dedicated ; then |
| if ! use sdl && ! use openal ; then |
| ewarn |
| ewarn "Sound support disabled. Enable 'sdl' or 'openal' useflag." |
| ewarn |
| fi |
| fi |
| } |
| |
| src_unpack() { |
| local UPDATE_I |
| default |
| # apply updates |
| if [[ ${FULL_P#*full} != ${PV##*.} ]] ; then |
| UPDATE_I=${UPDATE_PV:5:2} |
| while [[ ${UPDATE_I} -lt ${PV:5:2} ]] ; do |
| cp -dRpf \ |
| "${WORKDIR}"/UrbanTerror-${PV:0:5}${UPDATE_I}-to-${PV:0:5}$((${UPDATE_I} + 1))/* \ |
| "${S_DATA}"/ || die |
| UPDATE_I=$(( ${UPDATE_I} + 1)) |
| done |
| fi |
| } |
| |
| src_prepare() { |
| epatch "${FILESDIR}"/${PN}-${ENGINE_PV}-build.patch |
| } |
| |
| src_compile() { |
| buildit() { use $1 && echo 1 || echo 0 ; } |
| nobuildit() { use $1 && echo 0 || echo 1 ; } |
| |
| emake \ |
| ARCH=$(usex amd64 "x86_64" "i386") \ |
| DEFAULT_BASEDIR="${GAMES_DATADIR}/${PN}" \ |
| BUILD_CLIENT=$(nobuildit dedicated) \ |
| BUILD_CLIENT_SMP=$(usex smp "$(nobuildit dedicated)" "0") \ |
| BUILD_SERVER=$(usex dedicated "1" "$(buildit server)") \ |
| USE_SDL=$(buildit sdl) \ |
| USE_OPENAL=$(buildit openal) \ |
| USE_OPENAL_DLOPEN=0 \ |
| USE_CURL=$(buildit curl) \ |
| USE_CURL_DLOPEN=0 \ |
| USE_CODEC_VORBIS=$(buildit vorbis) \ |
| USE_ALTGAMMA=$(buildit altgamma) \ |
| USE_LOCAL_HEADERS=0 \ |
| Q="" \ |
| $(usex debug "debug" "release") |
| } |
| |
| src_install() { |
| local my_arch=$(usex amd64 "x86_64" "i386") |
| |
| dodoc ChangeLog README md4-readme.txt |
| dodoc "${S_DATA}"/q3ut4/readme42.txt |
| insinto "${GAMES_DATADIR}"/${PN}/q3ut4 |
| doins "${S_DATA}"/q3ut4/*.pk3 |
| |
| if use !dedicated ; then |
| newgamesbin build/$(usex debug "debug" "release")-linux-${my_arch}/Quake3-UrT$(usex smp "-smp" "").${my_arch} ${PN} |
| doicon -s scalable "${DISTDIR}"/${PN}.svg |
| make_desktop_entry ${PN} "UrbanTerror" |
| fi |
| |
| if use dedicated || use server ; then |
| newgamesbin build/$(usex debug "debug" "release")-linux-${my_arch}/Quake3-UrT-Ded.${my_arch} ${PN}-dedicated |
| docinto examples |
| dodoc "${S_DATA}"/q3ut4/{server_example.cfg,mapcycle_example.txt} |
| fi |
| |
| prepgamesdirs |
| |
| if use pax_kernel; then |
| pax-mark m "${D}""${GAMES_BINDIR}"/${PN} || die |
| fi |
| |
| } |
| |
| pkg_preinst() { |
| games_pkg_preinst |
| use dedicated || gnome2_icon_savelist |
| } |
| |
| pkg_postinst() { |
| games_pkg_postinst |
| use dedicated || gnome2_icon_cache_update |
| |
| if use openal && ! use dedicated ; then |
| einfo |
| elog "You might need to set:" |
| elog " seta s_useopenal \"1\"" |
| elog "in your ~/.q3a/q3ut4/q3config.cfg for openal to work." |
| einfo |
| fi |
| } |
| |
| pkg_postrm() { |
| use dedicated || gnome2_icon_cache_update |
| } |