summaryrefslogtreecommitdiff
path: root/games-fps/turtlearena
diff options
context:
space:
mode:
Diffstat (limited to 'games-fps/turtlearena')
-rw-r--r--games-fps/turtlearena/Manifest6
-rw-r--r--games-fps/turtlearena/files/turtlearena-0.6.1-build.patch201
-rw-r--r--games-fps/turtlearena/files/turtlearena-0.6.1-freetype.patch17
-rw-r--r--games-fps/turtlearena/metadata.xml13
-rw-r--r--games-fps/turtlearena/turtlearena-0.6.1-r1.ebuild122
5 files changed, 359 insertions, 0 deletions
diff --git a/games-fps/turtlearena/Manifest b/games-fps/turtlearena/Manifest
new file mode 100644
index 000000000000..4faeedd9fd50
--- /dev/null
+++ b/games-fps/turtlearena/Manifest
@@ -0,0 +1,6 @@
+AUX turtlearena-0.6.1-build.patch 6401 BLAKE2B e69fda1f38253fcc4ae3a541624dbe365a217a026c384abee27abaddb97cec1da37b57f004c14af744e0274a9fba91c4157aab5b42f772c9a09cc3c85bbb15df SHA512 c072ef951b86872a45ae6b5a8732921859605a30d00fe1c64e1c275b88d7f146f3f1435c34365907b926048d3391fbea2841228f0001dc4c249202c07aedcd4c
+AUX turtlearena-0.6.1-freetype.patch 451 BLAKE2B 33c2f46261d75149e2151bfd38a4c4f895579c374924c08ee0ae64ef27a6cf5274a00dd4aad6a3ee4ed3885f63ee0e1475fb45226f33eb43f4b591d63564099a SHA512 cc16c0a69b77627956254b000a4b42e77f57f7d073488c0dde3c0b155e01288aaba958fc16d932550200add0b5429afb10f15c3e23a22d874fe31014ebe090a1
+DIST turtlearena-0.6.1-0-src.tar.bz2 33355448 BLAKE2B 492eafd29e60a2528d11c91a6c48d8cad4a47718d7aa52c7241590b4e758cc65b76c5eea08b92f16db2eb8feff83d8484c9bd9b02015c1af575309cd92635014 SHA512 aa11f66a9ec584226267d34ecd637245a068c3c13ffc49fe0ff1ca16699b3eebf6435255ad68b953fbf02f25c807833830eb76497d53bcff977814e87b804edf
+DIST turtlearena-0.6.1-0.zip 73713016 BLAKE2B 346222691553122814d92ea42bac3f21e39de499d019c92813d8769690540da5257c52b673ac17440f2fb6819ded6221e19fb0cba67c9d7ad9539dbfc4eeb7b8 SHA512 83c96e572687bbdc6183393d21435806b1032295156c1905d82b300bcb6e00a34cd247731f6958e65f085c4c022fc52195313bc0f44edc7a726f04367483a378
+EBUILD turtlearena-0.6.1-r1.ebuild 3148 BLAKE2B 18a0caf0de43d38dd25d5ed62f77183c168c17f79ebcc37fb0dcfda042decab92b2a77013e0c4798ddcbd9fa003974f3fbec6ab3042c46d2738a7aece62aefa9 SHA512 b535dcd923c9e7dc7f03626157284dec5b636429d460f5d1b9e9da5b04db14424eccb28591400e316f1131886bd7baae1710daa8d74254c28324afe837bff068
+MISC metadata.xml 448 BLAKE2B 0dd50368438ba4e015bdd06cca3f02104a43e9c9cee7dd28e610a9cd8b57dda4c34e27bd77082f30265ac6d7d0b0ab17b4e93d6e012f041778aba2e047ed5147 SHA512 633c20ebfe668a103133f8f4ca5bcefeffcde149c325973534ad1b362d72b4396c2e4c60681e027eb3f56c1a6ebbb073acc0078e22808627b7f39c0788f80069
diff --git a/games-fps/turtlearena/files/turtlearena-0.6.1-build.patch b/games-fps/turtlearena/files/turtlearena-0.6.1-build.patch
new file mode 100644
index 000000000000..0b6ad877b3f2
--- /dev/null
+++ b/games-fps/turtlearena/files/turtlearena-0.6.1-build.patch
@@ -0,0 +1,201 @@
+From: Julian Ospald <hasufell@gentoo.org>
+Date: Sat Apr 27 20:53:37 UTC 2013
+
+* use PKG_CONFIG var (used in cross compiling scripts, does
+ cross compiling even work?)
+* consistently use pkg-config where possible, define proper fallbacks
+* unbundle the unzip.c properly and fix headers
+* make -m* flags depend on CROSS_COMPILING var
+
+--- a/engine/Makefile
++++ b/engine/Makefile
+@@ -346,27 +346,31 @@
+
+ bin_path=$(shell which $(1) 2> /dev/null)
+
++PKG_CONFIG ?= pkg-config
++SDL_CONFIG ?= sdl-config
++
+ # We won't need this if we only build the server
+ ifneq ($(BUILD_CLIENT),0)
+- # set PKG_CONFIG_PATH to influence this, e.g.
+- # PKG_CONFIG_PATH=/opt/cross/i386-mingw32msvc/lib/pkgconfig
+- ifneq ($(call bin_path, pkg-config),)
+- CURL_CFLAGS=$(shell pkg-config --silence-errors --cflags libcurl)
+- CURL_LIBS=$(shell pkg-config --silence-errors --libs libcurl)
+- OPENAL_CFLAGS=$(shell pkg-config --silence-errors --cflags openal)
+- OPENAL_LIBS=$(shell pkg-config --silence-errors --libs openal)
+- SDL_CFLAGS=$(shell pkg-config --silence-errors --cflags sdl|sed 's/-Dmain=SDL_main//')
+- SDL_LIBS=$(shell pkg-config --silence-errors --libs sdl)
+- FREETYPE_CFLAGS=$(shell pkg-config --silence-errors --cflags freetype2)
+- endif
+- # Use sdl-config if all else fails
+- ifeq ($(SDL_CFLAGS),)
+- ifneq ($(call bin_path, sdl-config),)
+- SDL_CFLAGS=$(shell sdl-config --cflags)
+- SDL_LIBS=$(shell sdl-config --libs)
+- endif
+- endif
+-endif
++ CURL_CFLAGS=$(shell $(PKG_CONFIG) --cflags libcurl 2>/dev/null)
++ CURL_LIBS=$(shell $(PKG_CONFIG) --libs libcurl 2>/dev/null || echo "-lcurl")
++ OPENAL_CFLAGS=$(shell $(PKG_CONFIG) --cflags openal 2>/dev/null || echo "-I/usr/include/AL")
++ OPENAL_LIBS=$(shell $(PKG_CONFIG) --libs openal 2>/dev/null || echo "-lopenal")
++ SDL_CFLAGS=$(shell $(PKG_CONFIG) --cflags sdl 2>/dev/null || $(SDL_CONFIG) --cflags 2>/dev/null || echo "-I/usr/include/SDL")
++ SDL_LIBS=$(shell $(PKG_CONFIG) --libs sdl 2>/dev/null || $(SDL_CONFIG) --libs 2>/dev/null || echo "-lsdl")
++ FREETYPE_CFLAGS=$(shell $(PKG_CONFIG) --cflags freetype2 2>/dev/null || echo "-I/usr/include/freetype2")
++ FREETYPE_LIBS=$(shell $(PKG_CONFIG) --libs freetype2 2>/dev/null || echo "-lfreetype")
++ OPENGL_LIBS=$(shell $(PKG_CONFIG) --libs gl 2>/dev/null || echo "-lGL")
++ VORIBS_CFLAGS=$(shell $(PKG_CONFIG) --cflags vorbis vorbisfile 2>/dev/null)
++ VORBIS_LIBS=$(shell $(PKG_CONFIG) --libs vorbis vorbisfile 2>/dev/null || echo "-lvorbis -lvorbisfile -logg")
++ THEORA_CFLAGS=$(shell $(PKG_CONFIG) --cflags theora 2>/dev/null)
++ THEORA_LIBS=$(shell $(PKG_CONFIG) --libs theora 2>/dev/null || echo "-ltheora")
++ SPEEX_CFLAGS=$(shell $(PKG_CONFIG) --cflags speex speexdsp 2>/dev/null)
++ SPEEX_LIBS=$(shell $(PKG_CONFIG) --libs speex speexdsp 2>/dev/null || echo "-lspeex")
++endif
++
++# common deps
++ZLIB_CFLAGS=$(shell $(PKG_CONFIG) --cflags zlib minizip 2>/dev/null || echo "-I/usr/include/minizip")
++ZLIB_LIBS=$(shell $(PKG_CONFIG) --libs zlib minizip 2>/dev/null || echo "-lz -lminizip")
+
+ ifneq ($(BUILD_FINAL),1)
+ # Add svn version info
+@@ -421,7 +425,7 @@
+ endif
+
+ BASE_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes \
+- -pipe -DUSE_ICON
++ -DUSE_ICON
+ CLIENT_CFLAGS += $(SDL_CFLAGS)
+
+ OPTIMIZEVM = -O3 -funroll-loops -fomit-frame-pointer
+@@ -470,25 +474,29 @@
+ LIBS=-ldl -lm
+
+ CLIENT_LIBS=$(SDL_LIBS)
+- RENDERER_LIBS = $(SDL_LIBS) -lGL
++ RENDERER_LIBS = $(SDL_LIBS) $(OPENGL_LIBS)
+
+ ifeq ($(USE_OPENAL),1)
+ ifneq ($(USE_OPENAL_DLOPEN),1)
+- CLIENT_LIBS += -lopenal
+- endif
++ CLIENT_CFLAGS += $(OPENAL_CFLAGS)
++ CLIENT_LIBS += $(OPENAL_LIBS)
++ endif
+ endif
+
+ ifeq ($(USE_CURL),1)
+ ifneq ($(USE_CURL_DLOPEN),1)
+- CLIENT_LIBS += -lcurl
++ CLIENT_CFLAGS += $(CURL_CFLAGS)
++ CLIENT_LIBS += $(CURL_LIBS)
+ endif
+ endif
+
+ ifeq ($(USE_CODEC_VORBIS),1)
+- CLIENT_LIBS += -lvorbisfile -lvorbis -logg
++ CLIENT_CFLAGS += $(VORBIS_CFLAGS)
++ CLIENT_LIBS += $(VORBIS_LIBS)
+ endif
+ ifeq ($(USE_CODEC_THEORA),1)
+- CLIENT_LIBS += -ltheora
++ CLIENT_CFLAGS += $(THEORA_CFLAGS)
++ CLIENT_LIBS += $(THEORA_LIBS)
+ endif
+
+ ifeq ($(USE_MUMBLE),1)
+@@ -503,14 +511,18 @@
+ BASE_CFLAGS += $(FREETYPE_CFLAGS)
+ endif
+
++ # cross-compiling tweaks
+ ifeq ($(ARCH),i386)
+- # linux32 make ...
+- BASE_CFLAGS += -m32
+- else
+- ifeq ($(ARCH),ppc64)
+- BASE_CFLAGS += -m64
++ ifeq ($(CROSS_COMPILING),1)
++ BASE_CFLAGS += -m32
++ endif
+ endif
++ ifeq ($(ARCH),amd64)
++ ifeq ($(CROSS_COMPILING),1)
++ BASE_CFLAGS += -m64
++ endif
+ endif
++
+ else # ifeq Linux
+
+ #############################################################################
+@@ -1155,7 +1167,8 @@
+ ifeq ($(USE_INTERNAL_SPEEX),1)
+ CLIENT_CFLAGS += -DFLOATING_POINT -DUSE_ALLOCA -I$(SPEEXDIR)/include
+ else
+- CLIENT_LIBS += -lspeex -lspeexdsp
++ CLIENT_CFLAGS += $(SPEEX_CFLAGS)
++ CLIENT_LIBS += $(SPEEX_LIBS)
+ endif
+ endif
+
+@@ -1163,7 +1176,8 @@
+ BASE_CFLAGS += -DNO_GZIP
+ BASE_CFLAGS += -I$(ZDIR)
+ else
+- LIBS += -lz
++ BASE_CFLAGS += $(ZLIB_CFLAGS)
++ LIBS += $(ZLIB_LIBS)
+ endif
+
+ ifeq ($(USE_INTERNAL_JPEG),1)
+@@ -1177,7 +1191,8 @@
+ BASE_CFLAGS += -I$(FTDIR)/include \
+ -DFT2_BUILD_LIBRARY
+ else
+- RENDERER_LIBS += -lfreetype
++ BASE_CFLAGS += $(FREETYPE_CFLAGS)
++ RENDERER_LIBS += $(FREETYPE_LIBS)
+ endif
+
+ ifeq ("$(CC)", $(findstring "$(CC)", "clang" "clang++"))
+@@ -1650,8 +1665,6 @@
+ $(B)/client/q_math.o \
+ $(B)/client/q_shared.o \
+ \
+- $(B)/client/unzip.o \
+- $(B)/client/ioapi.o \
+ $(B)/client/puff.o \
+ $(B)/client/vm.o \
+ $(B)/client/vm_interpreted.o \
+@@ -2076,8 +2089,6 @@
+ $(B)/ded/q_math.o \
+ $(B)/ded/q_shared.o \
+ \
+- $(B)/ded/unzip.o \
+- $(B)/ded/ioapi.o \
+ $(B)/ded/vm.o \
+ $(B)/ded/vm_interpreted.o \
+ \
+--- a/engine/code/qcommon/files.c
++++ b/engine/code/qcommon/files.c
+@@ -31,7 +31,7 @@ Foundation, Inc., 51 Franklin St, Fifth
+
+ #include "q_shared.h"
+ #include "qcommon.h"
+-#include "unzip.h"
++#include <minizip/unzip.h>
+
+ /*
+ =============================================================================
+--- a/engine/code/renderer/tr_public.h
++++ b/engine/code/renderer/tr_public.h
+@@ -25,7 +25,7 @@
+ #include "tr_types.h"
+
+ #ifdef IOQ3ZTM // PNG_SCREENSHOTS
+-#include "../zlib/zlib.h"
++#include <zlib.h>
+ #endif
+
+ #define REF_API_VERSION 8
diff --git a/games-fps/turtlearena/files/turtlearena-0.6.1-freetype.patch b/games-fps/turtlearena/files/turtlearena-0.6.1-freetype.patch
new file mode 100644
index 000000000000..9ecd6df2bf57
--- /dev/null
+++ b/games-fps/turtlearena/files/turtlearena-0.6.1-freetype.patch
@@ -0,0 +1,17 @@
+http://bugs.gentoo.org/show_bug.cgi?id=479822#c3
+http://github.com/ioquake/ioq3/commit/ab4c602374caa0f520b3a0801d384a73e29e0bc7
+
+--- a/engine/code/renderer/tr_font.c
++++ b/engine/code/renderer/tr_font.c
+@@ -47,10 +47,10 @@
+ #include "../qcommon/qcommon.h"
+
+ #include <ft2build.h>
++#include FT_FREETYPE_H
+ #include FT_ERRORS_H
+ #include FT_SYSTEM_H
+ #include FT_IMAGE_H
+-#include FT_FREETYPE_H
+ #include FT_OUTLINE_H
+
+ #define _FLOOR(x) ((x) & -64)
diff --git a/games-fps/turtlearena/metadata.xml b/games-fps/turtlearena/metadata.xml
new file mode 100644
index 000000000000..76847d643c80
--- /dev/null
+++ b/games-fps/turtlearena/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <use>
+ <flag name="mumble">Adds player-location (positional audio) support to VoIP</flag>
+ <flag name="server">Build server target</flag>
+ <flag name="voice">Adds VoIP support</flag>
+ </use>
+</pkgmetadata>
diff --git a/games-fps/turtlearena/turtlearena-0.6.1-r1.ebuild b/games-fps/turtlearena/turtlearena-0.6.1-r1.ebuild
new file mode 100644
index 000000000000..ee3525548a70
--- /dev/null
+++ b/games-fps/turtlearena/turtlearena-0.6.1-r1.ebuild
@@ -0,0 +1,122 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils gnome2-utils
+
+MY_P=${PN/-/}-${PV}
+
+DESCRIPTION="A turtle featuring free and open source third-person action game (ioq3 engine)"
+HOMEPAGE="http://ztm.x10host.com/ta/index.htm"
+SRC_URI="https://turtlearena.googlecode.com/files/${MY_P}-0-src.tar.bz2
+ https://turtlearena.googlecode.com/files/${MY_P}-0.zip"
+
+LICENSE="GPL-2+ CC-BY-SA-3.0 mplus-fonts lcc"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+curl debug dedicated mumble openal server theora voice vorbis"
+
+RDEPEND="
+ sys-libs/zlib[minizip]
+ !dedicated? (
+ media-libs/freetype:2
+ media-libs/libsdl[X,sound,joystick,opengl,video]
+ virtual/jpeg:0
+ virtual/opengl
+ curl? ( net-misc/curl )
+ openal? ( media-libs/openal )
+ theora? ( media-libs/libtheora )
+ voice? (
+ media-libs/speex
+ mumble? ( media-sound/mumble )
+ )
+ vorbis? ( media-libs/libvorbis )
+ )"
+DEPEND="${RDEPEND}
+ app-arch/unzip
+ virtual/pkgconfig"
+
+S=${WORKDIR}/${MY_P}-0-src
+
+src_prepare() {
+ default
+
+ eapply "${FILESDIR}"/${P}-build.patch
+ eapply "${FILESDIR}"/${P}-freetype.patch
+
+ sed -i \
+ -e 's:JPEG_LIB_VERSION < 80:JPEG_LIB_VERSION < 62:' \
+ engine/code/renderer/tr_image_jpg.c || die #479822
+
+ rm -r engine/code/{AL,libcurl,libogg,libspeex,libtheora,libvorbis,SDL12,zlib} \
+ engine/code/freetype* engine/code/jpeg-* \
+ engine/code/qcommon/unzip.{c,h} || die
+}
+
+src_compile() {
+ buildit() { use $1 && echo 1 || echo 0 ; }
+ nobuildit() { use $1 && echo 0 || echo 1 ; }
+
+ myarch=$(usex amd64 "x86_64" "x86")
+ emake -C engine \
+ Q="" \
+ ARCH=${myarch} \
+ CROSS_COMPILING=0 \
+ BUILD_GAME_QVM=0 \
+ BUILD_GAME_SO=0 \
+ BUILD_CLIENT=$(nobuildit dedicated) \
+ BUILD_SERVER=$(usex dedicated "1" "$(buildit server)") \
+ DEFAULT_BASEDIR="/usr/share/${PN}" \
+ GENERATE_DEPENDENCIES=0 \
+ OPTIMIZEVM="" \
+ OPTIMIZE="" \
+ DEBUG_CFLAGS="" \
+ USE_MUMBLE=$(buildit mumble) \
+ USE_VOIP=$(buildit voice) \
+ USE_INTERNAL_SPEEX=0 \
+ USE_INTERNAL_OGG=0 \
+ USE_INTERNAL_ZLIB=0 \
+ USE_INTERNAL_JPEG=0 \
+ USE_INTERNAL_FREETYPE=0 \
+ USE_CODEC_VORBIS=$(buildit vorbis) \
+ USE_INTERNAL_VORBIS=0 \
+ USE_CODEC_THEORA=$(buildit theora) \
+ USE_OPENAL=$(buildit openal) \
+ USE_OPENAL_DLOPEN=0 \
+ USE_CURL=$(buildit curl) \
+ USE_CURL_DLOPEN=0 \
+ USE_LOCAL_HEADERS=0 \
+ $(usex debug "debug" "release")
+}
+
+src_install() {
+ dodoc engine/{ChangeLog,BUGS,TODO}
+ use voice && dodoc engine/voip-readme.txt
+
+ if ! use dedicated ; then
+ newbin engine/build/$(usex debug "debug" "release")-linux-${myarch}/turtlearena.${myarch} turtlearena
+ newicon -s scalable engine/misc/quake3-tango.svg ${PN}.svg
+ newicon -s 256 engine/misc/quake3-tango.png ${PN}.png
+ make_desktop_entry ${PN}
+ fi
+
+ if use dedicated || use server ; then
+ newbin engine/build/$(usex debug "debug" "release")-linux-${myarch}/turtlearena-server.${myarch} turtlearena-server
+ fi
+
+ insinto "/usr/share/${PN}"
+ doins -r "${WORKDIR}"/${MY_P}-0/base
+}
+
+pkg_preinst() {
+ use dedicated || gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ use dedicated || gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ use dedicated || gnome2_icon_cache_update
+}