summaryrefslogtreecommitdiff
path: root/games-fps/openarena
diff options
context:
space:
mode:
Diffstat (limited to 'games-fps/openarena')
-rw-r--r--games-fps/openarena/Manifest6
-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-r1.ebuild80
5 files changed, 237 insertions, 0 deletions
diff --git a/games-fps/openarena/Manifest b/games-fps/openarena/Manifest
new file mode 100644
index 000000000000..523e9d5cc047
--- /dev/null
+++ b/games-fps/openarena/Manifest
@@ -0,0 +1,6 @@
+AUX openarena-0.8.8-makefile.patch 763 BLAKE2B 0e671cf5be41b48670954fa133d11806b1ad4becb98379e34bd7ea7127af467c15db9421f8590c3a73fbe0890e5e3f2a348437bef4cea7910400f488bedc3168 SHA512 2cc60cfd43536f55690dd90346f11d383f39d20be4509167604d0506bddd6375a73e933eeed2c7fbbd0e2c2c9c7ce126943549a9e0194d0f831d0a9b9e59c376
+AUX openarena-0.8.8-unbundling.patch 3054 BLAKE2B f1f90e3d61d77ec2d36fcc9ce55a53d456084b9862687b49037fceefca7758784e886bf66a689fba7a202a3ead60823311c9f31da804509dc3b60e4b12869964 SHA512 85a7300e78f741d0bcb4c949e17ffac13790bbdf0942fc739fa357ac5cec7a27c67393bb42342981a78fbb12141e3a9e1ffead352db6073bdf63b4135f4dbb43
+DIST openarena-0.8.8.zip 425189255 BLAKE2B f8a8d20cee344a615907e85b8487b8211246888b63d001b5f0fe1b676a699d9268cdf15d7c749837e5789ef254e959f289d9026a1ea3924f50b291a4c7224f28 SHA512 9fa4dabe8a3428dc3cbec97f3b4d20c04569c14cdd00b60e6391c6dd61e310f246ff5ec97e7549821b3d6f5f94b140eb5411a2ddd83dafcad66937b7f78ea8dd
+DIST openarena-engine-source-0.8.8.tar.bz2 3777830 BLAKE2B c20e2ad37aeb3467e2ebd90eab599c4e25a2dc834df81286b01bde9c7081b1b954e3524e5c4110bddcbda5593a40e595aa0a1eae8f20b98a06b4410fcb93f4c8 SHA512 d4ba3655fae500cf5b7475c83d39c81b6abc759da15cfb4ea9e1dc0f47ffb11c1bbbc2b6f85d613ab1d729978eda93d4d7677c9a45a33853e363c820d8b81c43
+EBUILD openarena-0.8.8-r1.ebuild 1790 BLAKE2B 84b530c8efd5617b062b4194e885ad41dcb23cace4a48d5d5c6460e32839ccc99ccd1695c1322916418be6cfad4956c74d1c2eac86a9a93eb4b77b737622260c SHA512 fa0c3302527b579bde188c1c44d928026181d5ccf1e88a871583d1ad0394a56e5d6dc2cdd907e603e52b155e1ee76bc9a99cd43397fa6ed8081487890975d987
+MISC metadata.xml 329 BLAKE2B e35a14a26bbcd2aa34d851acbc510d5e4ba3fa9ee9dc9ecc1c75995c6b8d3f0aea569f55c402295f1835e71d2d8609c226ccd20f9c4f5819c071c54e7d19e08b SHA512 40e88c8cec824e6c3d815516c018292ec64e5b968ede35a4c3c235331cfb32370ceffa954f01ceedffbf64e182f4e6c753a5fe45ce2ed627b6383dfc6b0d39f7
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-r1.ebuild b/games-fps/openarena/openarena-0.8.8-r1.ebuild
new file mode 100644
index 000000000000..7440f19e8ec0
--- /dev/null
+++ b/games-fps/openarena/openarena-0.8.8-r1.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit desktop epatch flag-o-matic versionator
+
+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="
+ media-libs/libsdl[joystick,opengl,video]
+ media-libs/speex
+ media-libs/speexdsp
+ virtual/jpeg:0
+ virtual/opengl
+ 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="/usr/share/${PN}"
+
+src_prepare() {
+ default
+ 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}"
+ newbin openarena-smp.* "${PN}"
+ newbin 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"
+}