diff options
Diffstat (limited to 'games-fps/openarena')
-rw-r--r-- | games-fps/openarena/Manifest | 6 | ||||
-rw-r--r-- | games-fps/openarena/files/openarena-0.8.8-makefile.patch | 36 | ||||
-rw-r--r-- | games-fps/openarena/files/openarena-0.8.8-unbundling.patch | 104 | ||||
-rw-r--r-- | games-fps/openarena/metadata.xml | 11 | ||||
-rw-r--r-- | games-fps/openarena/openarena-0.8.8-r1.ebuild | 80 |
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" +} |