summaryrefslogtreecommitdiff
path: root/games-fps/openarena
diff options
context:
space:
mode:
Diffstat (limited to 'games-fps/openarena')
-rw-r--r--games-fps/openarena/Manifest8
-rw-r--r--games-fps/openarena/files/openarena-0.8.8-makefile.patch36
-rw-r--r--games-fps/openarena/files/openarena-0.8.8-unbundling.patch104
-rw-r--r--games-fps/openarena/metadata.xml11
-rw-r--r--games-fps/openarena/openarena-0.8.8.ebuild77
5 files changed, 236 insertions, 0 deletions
diff --git a/games-fps/openarena/Manifest b/games-fps/openarena/Manifest
new file mode 100644
index 000000000000..32ef25967598
--- /dev/null
+++ b/games-fps/openarena/Manifest
@@ -0,0 +1,8 @@
+AUX openarena-0.8.8-makefile.patch 763 SHA256 c91a6de3154d9b86da367fe4cc5f7ce0797a75dbb52ea1d26a11ffbfb371d931 SHA512 2cc60cfd43536f55690dd90346f11d383f39d20be4509167604d0506bddd6375a73e933eeed2c7fbbd0e2c2c9c7ce126943549a9e0194d0f831d0a9b9e59c376 WHIRLPOOL fb077c2016fdbfa9e5863e346ed850ad662cc714b3309827be7f7647c785821f6ca9a0629c433a5880c5d22315168fee633495fc038be6b6ce9d4a9488ffa156
+AUX openarena-0.8.8-unbundling.patch 3054 SHA256 272266dc3ec9d7fa08aaa946b30b6a923a3500c66d0aa3c4d2ef1a805effba03 SHA512 85a7300e78f741d0bcb4c949e17ffac13790bbdf0942fc739fa357ac5cec7a27c67393bb42342981a78fbb12141e3a9e1ffead352db6073bdf63b4135f4dbb43 WHIRLPOOL 3fbc17715d13f9d69f45392f128e068ae4a70281648bb5ebb4d21caf2775315c6429d8d429c163b8c543dc4f8fbf5e57ec30f23e7d38728b18c5eed5a72d6e5d
+DIST openarena-0.8.8.zip 425189255 SHA256 5a8faf7f5b51f351b0a1618c06b6b98a5f1a6758f1d39818de2c87df2a0bac4a SHA512 9fa4dabe8a3428dc3cbec97f3b4d20c04569c14cdd00b60e6391c6dd61e310f246ff5ec97e7549821b3d6f5f94b140eb5411a2ddd83dafcad66937b7f78ea8dd WHIRLPOOL d9121b2e936063d02da7ed4de79f8d0da3fd3c9b196d3fbce9091be0d14c9f745317c833eed7ce9c0691cd8627396f0d3580eb244b7229500b44a03583612e4f
+DIST openarena-engine-source-0.8.8.tar.bz2 3777830 SHA256 95aa500cb7e42e57fb1f6db7b97a254168f4fa2e3676d6cdc33180b69fde0e77 SHA512 d4ba3655fae500cf5b7475c83d39c81b6abc759da15cfb4ea9e1dc0f47ffb11c1bbbc2b6f85d613ab1d729978eda93d4d7677c9a45a33853e363c820d8b81c43 WHIRLPOOL 6093e6d209983a268d21ea487f99ab065f1b050a3af43fead3461e24dc629be8b84be56644a4ca5a35512015f187eb9880f1228b0d501de091c482e141086f2b
+EBUILD openarena-0.8.8.ebuild 1778 SHA256 0ded964818bde0b816873876f42c162f46d1e1d4bd876463653a46e4e775fe60 SHA512 2552764c8e8c93e524553a7b1696d64e528e1835a9b4f9f59daebc2e0a0375a281aac0e1eb1459cefd76ab8f8f63e65d46353515f6ae21fd451093347dff03f4 WHIRLPOOL 03409f0b95a05e41c09825d4e0bc7bca94a23ef9b05b1811f36d4c140689d53455be6ca81a67c65c5405414f1d1465a1f5aea1f525fab846a1ef82a429362e39
+MISC ChangeLog 2991 SHA256 aa7d973b4807787f91517c8dd983d71179acf9d6a41ad2e4610357e0aef64bf9 SHA512 c84b74ef53d6610c6c6c0017b881a09a69421fb3419ac774dc9f95a779f73679354264b54ac0701002c9279840e778cf65a80c5fb1c455f89e0cf462ed605a80 WHIRLPOOL b6c4c271c9d48de0d3e6c2f06e10a5015560427f0b0f767902c78a8243ef15e373b3f4ff32a2132b9db2ce5cf9e6e5a0f0432ff925d3338e8d5ca7429cfd7774
+MISC ChangeLog-2015 4717 SHA256 7a04ba779b704e76ff8978302d9c0e6287e9997a6608760ac2aa7c79a8ea0477 SHA512 e43c71ff2c0b2e7248cc6508992b40748f5486e65f65a7dce7cf20f10eb9cf23082d67e3c32b124f7ee46b37445ba36a5fb0f78dfe7703b0c466cafe8c2e084a WHIRLPOOL e1ebc98ea28e07844d22cd25bcefb3925ef48c31bfbbdabfb6baf3aafd5af8b3d651e7649473ad55ddb43336216a5d58306834dfd0cacf79dc8416043e7a9567
+MISC metadata.xml 329 SHA256 2e1e2962e1f543f1a712c643e6dd221b885dd6141504c2d0d10b68f8bec8b64b SHA512 40e88c8cec824e6c3d815516c018292ec64e5b968ede35a4c3c235331cfb32370ceffa954f01ceedffbf64e182f4e6c753a5fe45ce2ed627b6383dfc6b0d39f7 WHIRLPOOL b3823a9d657134041ece2550afe7d9cc222dd102f1f441fb1cf44eab44f0724ba9580f432b6fcef05be1b24cbc2c351fba9c3aecb04179c86f0a800e7ce037f2
diff --git a/games-fps/openarena/files/openarena-0.8.8-makefile.patch b/games-fps/openarena/files/openarena-0.8.8-makefile.patch
new file mode 100644
index 000000000000..d72bbe79b29d
--- /dev/null
+++ b/games-fps/openarena/files/openarena-0.8.8-makefile.patch
@@ -0,0 +1,36 @@
+From: Julian Ospald <hasufell@gentoo.org>
+Date: Thu May 17 23:34:20 UTC 2012
+Subject: flags, arch
+
+--- openarena-engine-source-0.8.8/Makefile
++++ openarena-engine-source-0.8.8/Makefile
+@@ -73,6 +73,10 @@
+
+ ifndef ARCH
+ ARCH=$(COMPILE_ARCH)
++else
++ ifeq ($(ARCH),amd64)
++ ARCH=x86_64
++ endif
+ endif
+ export ARCH
+
+@@ -263,8 +267,7 @@
+ endif
+ endif
+
+- BASE_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes \
+- -pipe -DUSE_ICON
++ BASE_CFLAGS = -fno-strict-aliasing -DUSE_ICON -I.
+ CLIENT_CFLAGS = $(SDL_CFLAGS)
+ SERVER_CFLAGS =
+
+@@ -335,7 +338,7 @@
+ THREAD_LIBS=-lpthread
+ LIBS=-ldl -lm
+
+- CLIENT_LIBS=$(SDL_LIBS) -lGL
++ CLIENT_LIBS=$(SDL_LIBS) -lGL -ljpeg
+
+ ifeq ($(USE_OPENAL),1)
+ ifneq ($(USE_OPENAL_DLOPEN),1) \ No newline at end of file
diff --git a/games-fps/openarena/files/openarena-0.8.8-unbundling.patch b/games-fps/openarena/files/openarena-0.8.8-unbundling.patch
new file mode 100644
index 000000000000..b2c872f34cbd
--- /dev/null
+++ b/games-fps/openarena/files/openarena-0.8.8-unbundling.patch
@@ -0,0 +1,104 @@
+--- openarena-engine-source-0.8.8/Makefile
++++ openarena-engine-source-0.8.8/Makefile
+@@ -1406,41 +1406,6 @@
+ $(B)/client/l_script.o \
+ $(B)/client/l_struct.o \
+ \
+- $(B)/client/jcapimin.o \
+- $(B)/client/jcapistd.o \
+- $(B)/client/jccoefct.o \
+- $(B)/client/jccolor.o \
+- $(B)/client/jcdctmgr.o \
+- $(B)/client/jchuff.o \
+- $(B)/client/jcinit.o \
+- $(B)/client/jcmainct.o \
+- $(B)/client/jcmarker.o \
+- $(B)/client/jcmaster.o \
+- $(B)/client/jcomapi.o \
+- $(B)/client/jcparam.o \
+- $(B)/client/jcphuff.o \
+- $(B)/client/jcprepct.o \
+- $(B)/client/jcsample.o \
+- $(B)/client/jdapimin.o \
+- $(B)/client/jdapistd.o \
+- $(B)/client/jdatasrc.o \
+- $(B)/client/jdcoefct.o \
+- $(B)/client/jdcolor.o \
+- $(B)/client/jddctmgr.o \
+- $(B)/client/jdhuff.o \
+- $(B)/client/jdinput.o \
+- $(B)/client/jdmainct.o \
+- $(B)/client/jdmarker.o \
+- $(B)/client/jdmaster.o \
+- $(B)/client/jdpostct.o \
+- $(B)/client/jdsample.o \
+- $(B)/client/jdtrans.o \
+- $(B)/client/jerror.o \
+- $(B)/client/jfdctflt.o \
+- $(B)/client/jidctflt.o \
+- $(B)/client/jmemmgr.o \
+- $(B)/client/jmemnobs.o \
+- $(B)/client/jutils.o \
+ \
+ $(B)/client/tr_animation.o \
+ $(B)/client/tr_backend.o \
+--- openarena-engine-source-0.8.8/code/renderer/tr_image_jpg.c
++++ openarena-engine-source-0.8.8/code/renderer/tr_image_jpg.c
+@@ -31,7 +31,7 @@
+ */
+
+ #define JPEG_INTERNALS
+-#include "../jpeg-6b/jpeglib.h"
++#include <jpeglib.h>
+
+ void R_LoadJPG( const char *filename, unsigned char **pic, int *width, int *height ) {
+ /* This struct contains the JPEG decompression parameters and pointers to
+@@ -131,7 +131,10 @@
+ }
+
+ memcount = pixelcount * 4;
+- row_stride = cinfo.output_width * cinfo.output_components;
++ if (3 == cinfo.output_components)
++ row_stride = cinfo.output_width * 4;
++ else
++ row_stride = cinfo.output_width * cinfo.output_components;
+
+ out = ri.Malloc(memcount);
+
+@@ -144,14 +147,26 @@
+ /* Here we use the library's state variable cinfo.output_scanline as the
+ * loop counter, so that we don't have to keep track ourselves.
+ */
++ buf = out;
+ while (cinfo.output_scanline < cinfo.output_height) {
+ /* jpeg_read_scanlines expects an array of pointers to scanlines.
+ * Here the array is only one element long, but you could ask for
+ * more than one scanline at a time if that's more convenient.
+ */
+- buf = ((out+(row_stride*cinfo.output_scanline)));
+ buffer = &buf;
+ (void) jpeg_read_scanlines(&cinfo, buffer, 1);
++ if (3 == cinfo.output_components) {
++ /* turn RGB into RGBA */
++ int ioffset = cinfo.output_width * 3 - 1;
++ int ooffset = cinfo.output_width * 4 - 1;
++ do {
++ buf[ooffset--] = 255;
++ buf[ooffset--] = buf[ioffset--];
++ buf[ooffset--] = buf[ioffset--];
++ buf[ooffset--] = buf[ioffset--];
++ } while (ioffset > 0);
++ }
++ buf += row_stride;
+ }
+
+ buf = out;
+@@ -176,7 +191,7 @@
+ buf[--dindex] = greyshade;
+ } while(sindex);
+ }
+- else
++ else if (4 == cinfo.output_components)
+ {
+ // clear all the alphas to 255
+ int i; \ No newline at end of file
diff --git a/games-fps/openarena/metadata.xml b/games-fps/openarena/metadata.xml
new file mode 100644
index 000000000000..fb6c4d02068e
--- /dev/null
+++ b/games-fps/openarena/metadata.xml
@@ -0,0 +1,11 @@
+<?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>
+ <upstream>
+ <remote-id type="sourceforge">oarena</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-fps/openarena/openarena-0.8.8.ebuild b/games-fps/openarena/openarena-0.8.8.ebuild
new file mode 100644
index 000000000000..023db096e5ad
--- /dev/null
+++ b/games-fps/openarena/openarena-0.8.8.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils flag-o-matic versionator games
+
+DESCRIPTION="Open-source replacement for Quake 3 Arena"
+HOMEPAGE="http://openarena.ws/"
+SRC_URI="mirror://sourceforge/oarena/${P}.zip
+ mirror://sourceforge/oarena/src/${PN}-engine-source-${PV}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="+curl +openal +vorbis"
+
+RDEPEND="virtual/opengl
+ media-libs/libsdl[joystick,opengl,video]
+ media-libs/speex
+ virtual/jpeg:0
+ x11-libs/libXext
+ x11-libs/libX11
+ x11-libs/libXau
+ x11-libs/libXdmcp
+ curl? ( net-misc/curl )
+ openal? ( media-libs/openal )
+ vorbis? ( media-libs/libvorbis )"
+DEPEND="${RDEPEND}
+ app-arch/unzip"
+
+MY_S=${WORKDIR}/${PN}-engine-source-${PV}
+BUILD_DIR=${PN}-build
+DIR=${GAMES_DATADIR}/${PN}
+
+src_prepare() {
+ cd "${WORKDIR}"
+ epatch "${FILESDIR}"/${P}-makefile.patch \
+ "${FILESDIR}"/${P}-unbundling.patch
+ cd "${MY_S}"
+ touch jpegint.h
+}
+
+src_compile() {
+ local myopts
+
+ # enable voip, disable mumble
+ # also build always server and use smp by default
+ myopts="USE_INTERNAL_SPEEX=0 USE_VOIP=1 USE_MUMBLE=0
+ BUILD_SERVER=1 BUILD_CLIENT_SMP=1 USE_LOCAL_HEADERS=0"
+ use curl || myopts="${myopts} USE_CURL=0"
+ use openal || myopts="${myopts} USE_OPENAL=0"
+ use vorbis || myopts="${myopts} USE_CODEC_VORBIS=0"
+
+ cd "${MY_S}"
+ emake \
+ V=1 \
+ DEFAULT_BASEDIR="${DIR}" \
+ BR="${BUILD_DIR}" \
+ ${myopts} \
+ OPTIMIZE=
+}
+
+src_install() {
+ cd "${MY_S}"/"${BUILD_DIR}"
+ newgamesbin openarena-smp.* "${PN}"
+ newgamesbin oa_ded.* "${PN}-ded"
+ cd "${S}"
+
+ insinto "${DIR}"
+ doins -r baseoa missionpack
+
+ dodoc CHANGES CREDITS LINUXNOTES README
+ newicon "${MY_S}"/misc/quake3.png ${PN}.png
+ make_desktop_entry ${PN} "OpenArena"
+
+ prepgamesdirs
+}