Sat Apr 3 15:34:04 2021 UTC ()
add games/openarena

OpenArena is a community-produced deathmatch FPS based on GPL idTech3
technology.

There are many game types supported including Free For All, Capture The
Flag, Domination, Overload, Harvester, and more.


(nia)
diff -r1.499 -r1.500 pkgsrc/games/Makefile
diff -r0 -r1.1 pkgsrc/games/openarena/DESCR
diff -r0 -r1.1 pkgsrc/games/openarena/Makefile
diff -r0 -r1.1 pkgsrc/games/openarena/PLIST
diff -r0 -r1.1 pkgsrc/games/openarena/distinfo
diff -r0 -r1.1 pkgsrc/games/openarena/files/openarena.6
diff -r0 -r1.1 pkgsrc/games/openarena/files/openarena.desktop
diff -r0 -r1.1 pkgsrc/games/openarena/files/openarena.in
diff -r0 -r1.1 pkgsrc/games/openarena/files/openarena.png
diff -r0 -r1.1 pkgsrc/games/openarena/patches/patch-code_game_g__cmds.c
diff -r0 -r1.1 pkgsrc/games/openarena/patches/patch-code_q3__ui_ui__firstconnect.c
diff -r0 -r1.1 pkgsrc/games/openarena/patches/patch-code_q3__ui_ui__local.h
diff -r0 -r1.1 pkgsrc/games/openarena/patches/patch-code_q3__ui_ui__preferences.c
diff -r0 -r1.1 pkgsrc/games/openarena/patches/patch-code_qcommon_q__platform.h

cvs diff -r1.499 -r1.500 pkgsrc/games/Makefile (expand / switch to unified diff)

--- pkgsrc/games/Makefile 2021/02/28 07:36:14 1.499
+++ pkgsrc/games/Makefile 2021/04/03 15:34:03 1.500
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1# $NetBSD: Makefile,v 1.499 2021/02/28 07:36:14 nia Exp $ 1# $NetBSD: Makefile,v 1.500 2021/04/03 15:34:03 nia Exp $
2# 2#
3 3
4COMMENT= Games 4COMMENT= Games
5 5
6SUBDIR+= 0verkill 6SUBDIR+= 0verkill
7SUBDIR+= 2048-cli 7SUBDIR+= 2048-cli
8SUBDIR+= 4stAttack 8SUBDIR+= 4stAttack
9SUBDIR+= 7kaa 9SUBDIR+= 7kaa
10SUBDIR+= 7kaa-music 10SUBDIR+= 7kaa-music
11SUBDIR+= AitDoB 11SUBDIR+= AitDoB
12SUBDIR+= InterLOGIC 12SUBDIR+= InterLOGIC
13SUBDIR+= KoboDeluxe 13SUBDIR+= KoboDeluxe
14SUBDIR+= LostPixels 14SUBDIR+= LostPixels
@@ -296,26 +296,27 @@ SUBDIR+= nethack-x11 @@ -296,26 +296,27 @@ SUBDIR+= nethack-x11
296SUBDIR+= netmaj 296SUBDIR+= netmaj
297SUBDIR+= netmaze 297SUBDIR+= netmaze
298SUBDIR+= netris 298SUBDIR+= netris
299SUBDIR+= neverball 299SUBDIR+= neverball
300SUBDIR+= newvox 300SUBDIR+= newvox
301SUBDIR+= nighthawk 301SUBDIR+= nighthawk
302SUBDIR+= ninvaders 302SUBDIR+= ninvaders
303SUBDIR+= not_pacman 303SUBDIR+= not_pacman
304SUBDIR+= not_tetris 304SUBDIR+= not_tetris
305SUBDIR+= nudoku 305SUBDIR+= nudoku
306SUBDIR+= nxengine-evo 306SUBDIR+= nxengine-evo
307SUBDIR+= omega 307SUBDIR+= omega
308SUBDIR+= onscripter 308SUBDIR+= onscripter
 309SUBDIR+= openarena
309SUBDIR+= openhexagon 310SUBDIR+= openhexagon
310SUBDIR+= openjk 311SUBDIR+= openjk
311SUBDIR+= openmortal 312SUBDIR+= openmortal
312SUBDIR+= openmw 313SUBDIR+= openmw
313SUBDIR+= openrct2 314SUBDIR+= openrct2
314SUBDIR+= openttd 315SUBDIR+= openttd
315SUBDIR+= openttd-data 316SUBDIR+= openttd-data
316SUBDIR+= orbital_eunuchs_sniper 317SUBDIR+= orbital_eunuchs_sniper
317SUBDIR+= oshu 318SUBDIR+= oshu
318SUBDIR+= pag 319SUBDIR+= pag
319SUBDIR+= palapeli 320SUBDIR+= palapeli
320SUBDIR+= picmi 321SUBDIR+= picmi
321SUBDIR+= pinball 322SUBDIR+= pinball

File Added: pkgsrc/games/openarena/DESCR
OpenArena is a community-produced deathmatch FPS based on GPL idTech3
technology.

There are many game types supported including Free For All, Capture The
Flag, Domination, Overload, Harvester, and more.

File Added: pkgsrc/games/openarena/Makefile
# $NetBSD: Makefile,v 1.1 2021/04/03 15:34:03 nia Exp $

#
# There will be warnings about missing dependencies while building.
# In reality, building the "baseoa" mod requires zero dependencies.
#
# Please do not add them.
#

OA_VER=		0.8.8
PKGNAME=	openarena-${OA_VER}
MASTER_SITES=	${MASTER_SITE_SOURCEFORGE:=oarena/}
CATEGORIES=	games

# This contains the code for the "baseoa" mod
DISTFILES=	oa-${OA_VER}.tar.bz2

# This contains the pk3 files (graphics, etc)
DISTFILES+=	openarena-${OA_VER}.zip

MAINTAINER=	nia@NetBSD.org
HOMEPAGE=	http://www.openarena.ws/
COMMENT=	Community-produced deathmatch FPS
LICENSE=	gnu-gpl-v2

WRKSRC=		${WRKDIR}/oa-${OA_VER}

USE_TOOLS+=	pkg-config gmake

MAKE_FLAGS+=	COPYDIR=${DESTDIR}${PREFIX}/lib/openarena

BUILD_TARGET=	release
INSTALL_TARGET=	copyfiles

.include "../../mk/bsd.prefs.mk"

.if !empty(MACHINE_ARCH:M*arm*)
QUAKE_ARCH=	arm
.elif !empty(MACHINE_ARCH:M*mips*)
QUAKE_ARCH=	mips
.elif !empty(MACHINE_ARCH:M*sh3*)
QUAKE_ARCH=	sh
.elif ${MACHINE_ARCH} == "powerpc"
QUAKE_ARCH=	ppc
.elif ${MACHINE_ARCH} == "powerpc64"
QUAKE_ARCH=	ppc64
.elif ${MACHINE_ARCH} == "sparc64"
QUAKE_ARCH=	sparc
.else
QUAKE_ARCH=	${MACHINE_ARCH}
.endif

.if ${MACHINE_ARCH} == "earmv6hf"
DEPENDS+=	ioquake3-raspberrypi-[0-9]*:../../games/ioquake3-raspberrypi
IOQ3_BIN=	${PREFIX}/lib/ioquake3/ioquake3.rpi
.else
DEPENDS+=	ioquake3-[0-9]*:../../games/ioquake3
IOQ3_BIN=	${PREFIX}/lib/ioquake3/ioquake3.${QUAKE_ARCH}
.endif

PLIST_SUBST+=	QUAKE_ARCH=${QUAKE_ARCH:Q}
MAKE_FLAGS+=	COMPILE_ARCH=${QUAKE_ARCH}
CFLAGS+=	-DARCH_STRING="\"${QUAKE_ARCH}\""

.if !empty(USE_CROSS_COMPILE:M[yY][eE][sS])
MAKE_FLAGS+=	ARCH=${NATIVE_MACHINE_ARCH}
.endif

# do not use lib64
MAKE_FLAGS.Linux+=	LIB=lib

INSTALLATION_DIRS+=	bin
INSTALLATION_DIRS+=	${PKGMANDIR}/man6
INSTALLATION_DIRS+=	share/applications
INSTALLATION_DIRS+=	share/pixmaps
INSTALLATION_DIRS+=	lib/openarena/baseoa
CHECK_WRKREF_SKIP+=	lib/openarena/baseoa/*.pk3

post-build:
	${SED} -e 's,@PREFIX@,${PREFIX},g' \
	    -e 's,@IOQ3_BIN@,${IOQ3_BIN},g' \
	    ${FILESDIR}/openarena.in > ${WRKDIR}/openarena.sh

post-install:
	${INSTALL_SCRIPT} ${WRKDIR}/openarena.sh \
	    ${DESTDIR}${PREFIX}/bin/openarena
	${INSTALL_DATA} ${WRKDIR}/openarena-${OA_VER}/baseoa/*.pk3 \
	    ${DESTDIR}${PREFIX}/lib/openarena/baseoa
	${INSTALL_MAN} ${FILESDIR}/openarena.6 \
	    ${DESTDIR}${PREFIX}/${PKGMANDIR}/man6
	${INSTALL_DATA} ${FILESDIR}/openarena.desktop \
	    ${DESTDIR}${PREFIX}/share/applications
	${INSTALL_DATA} ${FILESDIR}/openarena.png \
	    ${DESTDIR}${PREFIX}/share/pixmaps

.include "../../sysutils/desktop-file-utils/desktopdb.mk"
.include "../../mk/bsd.pkg.mk"

File Added: pkgsrc/games/openarena/PLIST
@comment $NetBSD: PLIST,v 1.1 2021/04/03 15:34:03 nia Exp $
bin/openarena
lib/openarena/baseoa/pak0.pk3
lib/openarena/baseoa/pak1-maps.pk3
lib/openarena/baseoa/pak2-players-mature.pk3
lib/openarena/baseoa/pak2-players.pk3
lib/openarena/baseoa/pak4-textures.pk3
lib/openarena/baseoa/pak5-TA.pk3
lib/openarena/baseoa/pak6-misc.pk3
lib/openarena/baseoa/pak6-patch085.pk3
lib/openarena/baseoa/pak6-patch088.pk3
lib/openarena/baseq3/cgame${QUAKE_ARCH}.so
lib/openarena/baseq3/qagame${QUAKE_ARCH}.so
lib/openarena/baseq3/ui${QUAKE_ARCH}.so
lib/openarena/missionpack/cgame${QUAKE_ARCH}.so
lib/openarena/missionpack/qagame${QUAKE_ARCH}.so
lib/openarena/missionpack/ui${QUAKE_ARCH}.so
man/man6/openarena.6
share/applications/openarena.desktop
share/pixmaps/openarena.png

File Added: pkgsrc/games/openarena/distinfo
$NetBSD: distinfo,v 1.1 2021/04/03 15:34:03 nia Exp $

SHA1 (oa-0.8.8.tar.bz2) = 6bb139e469ae00e37decaefb5e2bced070f8b04e
RMD160 (oa-0.8.8.tar.bz2) = 795513460498fda03a4a11c1be56918e9312be49
SHA512 (oa-0.8.8.tar.bz2) = 517517ea8d8377a6d91d957faf0a55690815b01d8f3e8b1e4a3e6be64750968a6074d26499e707fe2ec5fa7d630ceec022fdc879fdebcbfebbcff8195dd03e2f
Size (oa-0.8.8.tar.bz2) = 1257831 bytes
SHA1 (openarena-0.8.8.zip) = 37ab41990b37459822ce8c2fe590607616e1f6d1
RMD160 (openarena-0.8.8.zip) = dec7c43c2727235e97be1ab3968d8803fdd71251
SHA512 (openarena-0.8.8.zip) = 9fa4dabe8a3428dc3cbec97f3b4d20c04569c14cdd00b60e6391c6dd61e310f246ff5ec97e7549821b3d6f5f94b140eb5411a2ddd83dafcad66937b7f78ea8dd
Size (openarena-0.8.8.zip) = 425189255 bytes
SHA1 (patch-code_game_g__cmds.c) = a28f1f32e8b0d4461d1d6ac2c64e83abf3777c0b
SHA1 (patch-code_q3__ui_ui__firstconnect.c) = 999c9040336b790711711f1c96a1af0f04f743be
SHA1 (patch-code_q3__ui_ui__local.h) = aff4decfa18aed05239af5103dc603c6ca949429
SHA1 (patch-code_q3__ui_ui__preferences.c) = 06f606580f594509c0bfcc9cc60e970beba394aa
SHA1 (patch-code_qcommon_q__platform.h) = 523fbe0eccfdde0391fef23f728f0ac01bd7d85d

File Added: pkgsrc/games/openarena/files/openarena.6
.TH OPENARENA 6 2010-10-15

.SH NAME
openarena \- OpenArena client

.SH SYNOPSIS
.BR openarena
.BR "" [ \-h | \-\-help ]
.BR "" [ \-q | \-\-quiet ]
.BR "" [ +set
.IR option " " value ]...

.SH DESCRIPTION
.B openarena
is the client for the first-person shooter OpenArena.

.SH OPTIONS
The wrapper script used for OpenArena in Debian accepts these options:
.TP
\fB\-h\fR, \fB\-\-help\fR
Display a short help summary
.TP
\fB\-q\fR, \fB\-\-quiet\fR
Disable all output
.PP
Any console command can also be prefixed with \fB+\fR and used as a
command-line option (press Shift+Esc to access the in-game console), including:
.TP
\fB+set\fR \fIoption\fR \fIvalue\fR
Set an option (see below for some options)
.TP
\fB+connect\fR \fIserver\fR[\fB:\fIport\fR]
Connect to a server
.PP
Options that can be set with \fB+set\fR
(note that this is not a full list!) include:
.TP
\fBr_fullscreen\fR <bool>
1: Play in fullscreen mode; 0: Play in window mode
.TP
\fBr_mode\fR <num>
Sets the screen resolution mode. Set num to \-1 to use a customized resolution.
See also r_customheight and r_customwidth!
.TP
\fBr_customwidth\fR <pixels>
Use \fUpixels\fR as width if r_mode is set to \-1.
.TP
\fBr_customheight\fR <pixels>
Use \fUpixels\fR as height if r_mode is set to \-1.

.SH FILES
.TP
\fI~/.openarena/baseoa\fR
Configuration and state for OpenArena
.TP
\fI~/.openarena/missionpack\fR
Configuration and state for the "missionpack" mod

.SH ENVIRONMENT
The wrapper script used to launch OpenArena allows it to be debugged
by setting environment variables.
.TP
\fBOPENARENA_DEBUGGER=\fIcommand\fR
A debugger or other prefix to prepend to the OpenArena command line, such
as \fBstrace\fR; overridden by \fBOPENARENA_BACKTRACE\fR
.TP
\fBOPENARENA_BACKTRACE=1\fR
Use \fBgdb\fR(1) to get a backtrace if OpenArena crashes (the \fBgdb\fR
package must be installed for this to work)

.SH AUTHOR
OpenArena was written by the OpenArena Team. The engine used is a modified
ioQuake3, originally created by id Software and now maintained by the ioQuake3
community.
.PP
This manual page was written by Bruno "Fuddl" Kleinert <fuddl@debian.org>
and Simon McVittie <smcv@debian.org>, for the Debian project
(but may be used by others).

File Added: pkgsrc/games/openarena/files/openarena.desktop
[Desktop Entry]
Name=OpenArena
Comment=A fast-paced 3D first-person shooter, similar to id Software Inc.'s Quake III Arena
Comment[de]=Ein hektischer und netzwerkfähiger 3D Ego-Shooter, ähnlich zu Quake III Arena von id Software Inc.
Exec=openarena
Terminal=false
Icon=openarena
Type=Application
Categories=Game;ActionGame;
Keywords=first person shooter;fps;3d;deathmatch;ctf;capture the flag;

File Added: pkgsrc/games/openarena/files/openarena.in
#!/bin/sh
# Based on the initialization script from Debian:
# https://salsa.debian.org/games-team/openarena/-/blob/debian/latest/debian/scripts/openarena.in

# we're a standalone game
CVARS="+set com_basegame baseoa"
CVARS="$CVARS +set fs_basepath @PREFIX@/lib/openarena"
CVARS="$CVARS +set com_homepath .openarena"

# OA uses a different protocol number to reflect incompatible game content.
# When it says "71", that's actually the legacy Quake III Arena 1.32c protocol,
# protocol 68.
CVARS="$CVARS +set com_legacyprotocol 71"

# For the moment, disable the modern protocol, by setting this cvar to the
# same thing. When OA upstream decide what value they'll use, we should
# catch up.
CVARS="$CVARS +set com_protocol 71"

# OA's default master server is different
CVARS="$CVARS +set sv_master1 dpmaster.deathmask.net"

# update.quake3arena.com is pretty irrelevant if you're playing OA
CVARS="$CVARS +set cl_motd 0"

exec "@IOQ3_BIN@" ${CVARS} "$@"

File Added: pkgsrc/games/openarena/files/openarena.png
PNG


IHDR>atIME
628	pHYs~GIDATx[	啾_{7@7Bɢ((ȎѨ8Hlj'ÌgLk虨qDdbtbŅf&44[UzH\vzU^}/|;η|;η|;߾]
|\B<D(ax<.q}_a͓YWS8$++3wP d}iI^oIB]1NSu]F"`0]]M'::nimkSB	l‰&L)>‘#]PZ:67'gJ5Lu!L8m#Ǿ5Hp\.Bp8\[}Ⱦ}eʦZ<4:Н"7JNvv.9~Ə{Qa~pܟ:P/.}5W'n8,O>q?XA.7nyk*w]‘H@v7)&_6mڂK^]<t(M=!H	!	pqV3_V'@lspMww޻q^}g݆zݹ3vD]:W]1+gL*3ǭ5O`)dIĹMmIFxinTc7ny_:zlpWs\lF2[Ξu+45ݲ)2&'iZ2҉ɽ6)	 .Mi>z=ڞU_lݱ{-L㬵RSRr̞}wvP<ǽ'e/ptJa2`ɂPX. ,>)
y/PvMqo⎹J!⇎lc,e_iݲ;iii.tv㶲+
Q6&,@8T@Cr@9	.5

;4\xBd"~_Z>2qz-x-w^g etۭ͟3&FiY0BH-u4x30NAgTh @E8},>#4kz.kN(!=BhކcO<_xG_k7-~K7w$<SvXۤ	P0n`s՟`.?ݾ`(^OJ2.Va3H0%!~b\2g6	$)d2
f<u{DurF\U<liɈK$A.=t4~#(эG!ꃾ6h=	
'kpW|#cE];QOYZAhDt7FjҪ!005vm,82~<^o\<F$B݉j8b[m/#KKTíS˥nęhu
X" v5C{qhm:-P5ZX$2?#Ǐ@OW
,K"Xs|;T4A8P8\y6ʴnlWxka_,5sqܵ	_7(S/x3O>+_LLk3Dj5E"!f-ǡ(OBOw,ZEM@!gdYq{K'<Ӻz[;Z1P;QAF2d2ς^uḲKƊL92Wza?YrRr~4,U-/htUEmuahmEm\$Cg
=1()-Ma`)oD|πM$2EFa4_`e pB
Ghd!BpLAYE찁$ #G{H2L3n#Q)p'K4ڃ}ŘOc š_ChKnRy
42&nBK|[?ۅ"2ZDbѫjg8mFcmUmuDw3KQL
!8?q5z<@f
Q(F:5Lxko$HJJ?pey\95t`_tjkdnP)`Ѕ<cFmKnDb艥ZYvHq^h֛>ٶ nѩgO-*bIr\)~/3';(7/gXNvC
ˆ<&++k(K2%.
iFdϤS"XTy<Bqqz#D}G8|gW=]9F
aæ<S/E&&8U1C#h
'!
ti ;2 Ex.%8oU̢dJKBnu
L:
vn
`"5d
=R#GjjxЪFT:ѣ:t+(T|mL0pXŸO\3sɆϊʼ9sn{_x%S'V^ 1A8~xzGAQ74`Nj򩰚8~̸^sd$fN-@쒮4٭$y;Bbgֶ#Շoڴ͛+Լ?[ s3@[|  kP;RÂiĕiM*߶soEK[$@}+?z]ϔn&"
EѪm|((CX]ܻu|uw-PP:@1TRD+i!m[144EU,:qkUVavw	}	V?#	򋧽{R5S+g^7OhxjśNwcj1峁GVg5>P|6'OWM/gSex-/ Fx++;A{¾Px}g2:~ekŚ`(0hp	P"P" 6SQ$SSR
o9%@zzz=ڔIb\&Y|4cph&LC͊>&_
6PV޹$''9\_=K쌀؆KH՞{ԵgVbrߡ:>5C:ina3Vj*.(އ֢&i<'߬~c0#*U暆5UۡU86.걆|z:t8
+\PcYeT_m6gq83k777&]}4p"FnNAFR`vB)ʴ4
x7j+	KJf1H#lhC{?*y,a!G'qym1J<
on?qokKO>򳟤j`C$)*|އr;nT<B؟Б-{J^[|JI9.8rVUol>r@sܗss<uC8ĢaVWڛ 2\t{vXDtho#+ZZTcCͽάT$p|G8c:2ؖ%B͡*/XsIьm7,pMNV?"v !@
tDq1z? "@ߟE-u:2!Laﶿhe@7BO(ȑj@k
^@ssӽ!﹧x99997!p?i)	ӴJ!`ŌݻvwMGܥ3yw섋/d~r@JV>>i,-XwzzOƾ0nwk%%I1?	ɚ*ط}=tN準>LP5{XCk'D6c]xܥ&~bZ^H(CNqhsÞ7eAGK7d*Ru}@p8Quۻ-}}7)]'[5Qj %z.Wf =}Gg>ȣϏ;J1%|OG_w>wF?TnT;XHStA(|Ů"sޘ'pnBnÜ`PF
	}+2PdLS,CLFƺ|@o";2g%qZ賸Mh"9`o7Z~lߙ;H?JŞÑuĬv
/*4OiY֬
0!b"WS9=(YW~#,*S "&b&cRIRfM3Bi~t=4=+gi]s!|M	~5QݰreS^6דqXC~p>@xZ"wp!a$%3KNr]:8TS{RtEdb(
Bai{9q8)<n9:/Eܼ>%[HQSc*t6`_agMܧ;_w9[|{ff`-Kg=#bZn,A	`U_IEv]c#B)AŴ2F~~V/;__<eLN4
]ۛۧZy|Ӫk">=yJ(Dw.ҙ,Qd%ȼYEY]_\\R>ƍ.E/NIJmSPT3YK 1E`C?HAvƽBXod2Lcܽ	O/qMOx4kMߦgcv&ժ?;~`˱)LN/Y9iY8cx<}NZ|dO(!bM!bK'&_;NK-Irf~nXӟS9EVL1mZ{}ȁ٤͏E_8cӾkci4~Cߞ!!9g.t}9.II2o%*.^WqzZ
x?^B^"^ryDWL`8ו+$\?_%dX/=6ງ>:<ǭnH7
~$ܴ:U7>ӫw,_zwjjJ
=t½P|Z*2u>SyH.3ryPq1OCnG|)p{ҹ&v%UW~oy	$1lD@"	a	
K**ֺAǪMP=ֺԪz<TG:qE\;#D	~%AT}焄}C!Y=3T94ڦџX*VΩ;w	O-T718q^c2'?l:
@
[1Ry;ޤU`x([F!,[ Ӫ2,`wؠh0X0.x`}` gu>FPaہ_e:+R7v8kng4ts85U׃X<n˶~:hٱ^>c
9B
[N_\W_s
ݮBD{	,)cH AAㆃEҗ==TϚ
XZxʦ&I8rT
(%aDW1)y󖔍7E?Vz÷oVˏǓSXIcT?4x3<Л
vMĢq|$gPu>l
\Yh֯a"2`0˖-a=z{Hm)@kلbUOF[as0qQ]w4~dؿ3OKҒ<@N<~!7ֵw|UEG0|M	qPÈ$twuB4\ŏ7vdA } ~D<iJ%L*/iq6M(TQ*aWPA `&&J&d8yzfI]8	4?vh/=u*G:
+q57iִ1so@L)[`wha:Y!fi4-ҥK!/M>o=1ߴ,]O7EFs~ÔГAV%ɠ$q|^bX}MҴ5,Rq8v`Uy3|FT	#-i7zֻܹmv ec;[S+\h	k*s@A+0
buЦBF)+S@x|V',fJ`1lCa5ˁ/U+gX%R8?
Q*:2e*!-̅i_U+)\Bv
͕aFF$gp^j
!Dl3D
r㹖ߔ*'7fd<@GDڋ=vhX[NcyV]OQDz|K`;Ξ?Bhb+;v*Ʌl"w]͖kL8Rdxb<;'~E_laURb4)(a8C	X1N=)qx"3\~8
<TVg!~~~>p-_^+cPWOZn |}j]xD2s;Wݝ>tUWX~/+/,U]%4C9+M/oqC'"fv}A+`Bukjab't~ҟ5e3sKE4E1K^\Ì2EؑzUqcǏ5R|տ.bC6KA<ƶ[{%y=`!*p儮ui؄[BZK)v;ö5Mj\BvOR]r~6u	v{6%	b	m:y8NhѳUU3tB=|2h0؅'੒dC/fK.˗],PBF
mՕDgָ}+t45J$.	y)kHZ *T\v!hmP>*+.(
0~ڰǩ6?Pz!ZZO/NCN9ӯLbzUF/d-?aU܆&ݢ](}rkw4BYw7b"jL͈r(I
vk2À={w#&ASuƐ 
"(-\|9$u%joa_<֛\kd p&ͼV#ez,|깏8LB9}Y3'l
nr١ɝlY\aJej~eϦѴ-|,ƛIc4d2v=L/(∉Cf]Ls7Jp;_0p|Ol8uvMϺ
r@OBKm">
n/GZX0OJz;#B_rߏ7J-#u#{/VR\D֘J&lk9(?#M$'&'[o>/*o|"h%el㵁EP\8n<?pȨ43"r;Z**bцЙ#CǰxlޱQ2ryc<I<oKM'3m%S|o"VKʦ|gzF6yh]Z yzzzME9}}jIzz豧6Q#ChiίC’!4xq;s"`ן{?<zWDeكl54)Dp!1F'l}Wc4
)/IdP-GMJ|j6lBVn
+ub/ȁF^Hgp\&'`nd$әN}7_X9w1mJfd{|X8D\USQxn>W~6^=A'Xj@ֈgjQO|8:	g0qR!OCE.@n>_~M1#:If}x	>*.+6wvժ(|?Yay|AZJZ?kmP&HvO7ɇNgw'0WF@hp^ҥszn_'p\y/>KVnQj,^B	SaD"Q۸L!?W|>_.2LT)x?us#njEH
9mrE~/g76oZC%ϰb)6:3eg&ڨ=|3rwZ9Vl'
ES58İvpc(EďW8@z.iS&i/x=?8AP곏Z9:,*Ig	>WuGxFLQlп8؎S
gr!p\6\Ten"6' ר']9v|QchO(hDFF4OˁSޏ zMkү}azo]&2ELy,4Pdfc%0dqf`Pz
k;Aao7TLɤ	
[^ϑ?-tzp	]="s>o_
@@UfߜFKF񕬢nȺ/ƿ_Lcܰ~C,L~E}}c?)t䀴~ك`%i2	vFR[z_D3GyGhg}|梦rT0A/,XdS}̣%Mx7fl{P	[Pn?#yOtIiɎM֖RH$VkU#S|Tϭtc-Ѱ`FIy@մ+jgV͘j3Pَ);6ngR̰֟=BIa\1X颹g-Xb2d5Zn)+J2n`4B]\Dt@U>u??\&)xS<>_|[xH&Rw]!X$d*g޳ G[1EV(.sS`3G`!vĖvgG6b6eښMZDK:IVj)oT8HA7@g8~֏H4vgiwo10eH\SUBFsa򥐟1O5f
(vזHej/|R
ct/u:5ry4/D%1,e@ɨR==zxvi '̬>m
$f'ܸa϶DgXl׊P_f-0Z
7T6V
)ҳP3$8z)#
srXh̘2a'}uۭ?X'`Z/.+9HQ]2b?:RU'z{,
vUTSR㐅xU2߸k_Nʰ>QG^Yu<,|aH/<=őOYӾgEQ#?T

gN,,Z\ѵ~y#WNVSRD5,(XɪuCYf
1ˡ~a^V2F&>~ڄUø/΄^XůlGS`iRñFf/<cG	jU/	иÆ_G?;@NݔϛhI
u/b	d$EmqØ|$ZRZ?+Bhz
4%LqF0'9{-/3}*tO?B=D21X_rDfr6aVg!|"e*	z >R4U>ԅ/!va&xYDbI֛,hi9u*JqM/w~
m!pݿ_Mw8amTzg?s{h̏E3j:`e7Xұ㡼|9?o0yyG>ܓ46EIz&	B(Vu^6r:i+[kcJFf
zDWu1'S_!4mjjO5QG+nl&K{ƌ-~Eog%_`	b(l؍M~o?-˅3E`}
.G()+sA0el$q|⥥v*?<9)
_`V-spp5(4n!Yd7PDJv]ib~>ڲO9xw8?g>;.H@$-!srz|~(tR@f퓞~})5m`ނ0[&͖OJI,`Ű Nx9;Dxwt27H:B5{9,.R**QFK֊
X9= 4'vv)2Y'u¶&cHg41K<ϯP(vҩE"D'Œ+kXK*gU9gu~<u`fJԢ{za;4%RI~[(7.~ވdSlC9'>3t-_y-E9+>;Ik:bDM:>^ZD纺`'@g(dZLfYpU%>
p}KsrTE@k~uoC qiD5X}ɢ< #絷4w&6{$(okWCYr"ju
I1̤4*/9zJkGt ]5ل|)~T*tK'4Ő's]=|w :&!zj_:ߚ4uu5Lm@jVW\ڮ!i\~jjj!WJ]	tTe%JXe[Th\[qי9imi[Y#{>( !	kB6TRUYj?Ul	`w?'	zw4ۧ?/e7Lcl1C i)IAj?^*ؿL!S~7_(q" }$*-pO/"B
7mVgMl6;<H8uJҧ%LZuZJ&vYA"FZ<5
@s$=xydg@41ʋ
j\}}8,앗X0F͞MD!1g
L"Q	i$e+~ºr0^DRL
\\-mtU$>?/<ODOVVV?{X&oA6H&Jd/p@9$`ۿeRd(,\.=(鷈8]7 l=A$3q4#?HEPHM]CS ??w!j
Q;W{@W(DH1bV1z87fi,q ŞXbWk18-
@-(:AD*fKh2"u,4<1#C$b{	چNPJ~2AH?A55 N(V8la$蛟Cs2QXL׎!<{ޢv{aW!H%~:H$<?%cbKJ@--P_D#A|a.ɮw=oz[g̘1ۖS:&
-hğTXg(Ҷ<sIdEXcͣE|IDHK_2nv !6[Fy_DЯݸRhm<ⱪ)NP>+w}ь-7RɏQwX@K|rqVpYy)>8a@~G$B/~5Psfg?`
QK,]1ϫij0$w*@a(oc]¬Q3p=yhSj今	|Ð%P4@l렖?Jk@U{8;aVuF:~<-0*WkID8F5d`N0P--)DX#	MkG^Y待(/\$\ٷ_qz-蝗V~Um*µH31ysJ
xo-l{X(^}M
|v5b3S50Ñ\mNp8Ə7ID8hë́4REԶ9AzҿRJ?.,c?lN\vn-\ZAXm`df_0*)Rؖᒥ_rg\-R(wpp%	4Cm]/C΅gZoݶ;n
HLNR0D~XyoI1a.8N?A?tvX~3̉')>sXIJ@'{h99'>YʵW5oʝZQ]E 
&|?jp;`ǖB(**d{.haz/^"UiO7:ZA]U'GǛhM@Id'U$֏pǟͿ4R#QqU#=cɘt4j5#oJgL!v`mQ`ђA;	0p=yeSsB@$σ⍰k>p{p~B$?6;;Bχ=alq$הF	dHBJ":f2Fj$%}5_"~/	&$Iܜ\d$vHC_.56s=+7.&i!?/Iq+ٰ8myhcdh!PMEE><PYY͑;i㍈:09[܏eK1jM4h%g|Pmn]/-X+J) (8U
'Oÿf8UjaSY?:#=_z9,La;0O=<f!bY4׆QdF`&G\~Gbq1fzJ[E7qlc#dgD0'%I<,;W=M;MbLD3%fN8I=8bȶ1-`9_ܗĿZ`e]Cc;=5qojҏ<ҙ1&Ly9YG4b_u{pxx.uNU:g$-s;23
=@eá`?b}A0{gNv("
j(YjIVVX4?/4D+9{#Ͻ4e{FF~)ZqɪI

f@MjGG\zuBiX#QGW'1vjlju˾\$-=2*U%.wa~b(ޏQ7yIV0dV-Xj&PU477$)`!+@4f6m;oڶOGfdgYB1B
g&zpĉpY?AP=km#_p$0~݈tc1PwR
<(&Yja7)ڇ
DJҾqWO@Q_~$vBxHۢ&6G_;CӐZ2mH|g4 Q
i8=R }z؛hA12쪺|%vѭ=.`DX!GxrWj~qǒ.zvo+=~l<1`bK
{kaϵ96d f][r1G{d$BIx\[`KFYď,o+M(12|%[`hEhaq%=/'^tѥo?A_ZWQd=~hk9*h=~WG+cJ/#g 5HRO!
tq+VE|ȥxbj
/bf[4nǾVmb^7dJTęAاo򳉐cٙ|?y3/{zzo1_X~R'IT7tS4IIL74֜3q1(YLSئRi38M3^n6UL]rƋ.Ow/Z@qD>~1C	TW2?*nVdZF~.][gaC\OO"zuW=mX8T~k˪<bhKҲcɼ*^?-5c[_s ˘d++A#4N'f]8fψ05"
"/[)Z$࡟Oܬca~v[Zo!"oB
Iɓ[n-YiSOb Lfϝfψ3({Au녒iefc;<ӝAiŁ%V-Mp0
֠QUn?]wƑZi!Hwo0t+~8wm X I6G#TX̱A|Д  ៪1>/(&Z|4[N|ұIA}}"㧣eFpsGL([4{@^F҈2U"S84	];J=_޹Y~=33_:$CHy1!I֯x#~EXDI"Ĭbf7/-33.SHʯk?߹yO@]P$lgpj2d@~P0K;:l=2y.1ïbcR_X&@%~$ŲT_K#wqf|ՁHT`Sa17k5=vmu 5褶[w}d>If.WXyTeT6"=~x'l@67^AX,f$}5p/*Aر{Lt,(2yCpKG8U{`2Bi$k!5>;bB׆օju/[L:7o@ ){XKk+h$u
i'^9Ϧ`pW\i|D[o}A;N4P-*µ?(Ȳ=OMm}ղ_]ˆ'hdK=h<~LA(V+g[gyBfdusKJ(KL!&w$=	Jﯟڍ[	@o^ 0?VVB$
黣hi
4M	<#8oa#i4(Jg?t[$^1%3͢E}H.9Z
-
>90A3mлO{23|ï}d*BPҮ:/8`ahnWqBk~!#`88FTSװLSS^ab-{
%0+}%z?f5уqKZO`xcY>Y%:
kE1~-Cpx۹>k˯
}&&8TWˋ;ۋ_0Tp?^)ޙ7`~<'CBmM
HKgxK{n63]3[^-NtIs("^m.(,*Sز:}^ؙbc3\gQzX%,Y1p>7u56*xɺ
kkB1W48t;:]4`M_7⻊eTg֮Znw;Mr>uv6*8P'Nꝗ7i-ƺ$NsxKwPZy]~F.FĒ.|}|v6yFqhsM'ϓUזR@H2ćW
F4NʮT$:KJY3H;s;Uvo+NѤ3yi'ރ{=I8j,
!vʊ
Xɧ՚
P}0fenhhr'fu:W<:X,^zmi9HopHOh*PG$H|qW#so3ÏUk]ذn"#1r{xe=ߙ#5շtaC]Iw*Q[WoMKE:G:ņ!Ϳ,ׅ$;@]_ySUqҢ.>Pˮ
>Wk!~HW \W;r²%1cEYA8
XΟ;.Ꮊ
^d'Nh]Cae@4hs!:sA]+V^iӦnqC:`XW[Ӗ'K,t-#2ѳ	Dvvy=%awvh%<~L~󑘵Bnu"77weS]Sg۠X3x:%Ʒc-rnmk{G-z=.c,,=fսc{o;[a?A{-^~ekPcsѸUs>QZVQvw7-	qݜܦH(#"0Q^z:QKt
PLPaZ:迡QHy~5wNRJ{m%b?rq+El5+zwMj)1NkhNt>d}olC
$|dJoB{|uyƪ^ZpwC^%qU»ة5c6ܒs]rˤyF\||ɯiQdϷEȝM+J!C#EQm&@N^]9& 8d>6:D!7^7%c5+V\tR=V4+rfBys,7/[Zo=e;q5|IENDB`

File Added: pkgsrc/games/openarena/patches/patch-code_game_g__cmds.c
$NetBSD: patch-code_game_g__cmds.c,v 1.1 2021/04/03 15:34:04 nia Exp $

A fix for Debian Bug #681812. Doing "callvote kick PLAYERNAME" for a
playername that did not exist results in undefined behavior.

Depending on architecture this results in a crash or something else.

--- code/game/g_cmds.c.orig	2011-11-08 20:27:32.000000000 +0000
+++ code/game/g_cmds.c
@@ -1812,7 +1812,7 @@ void Cmd_CallVote_f( gentity_t *ent ) {
 		Com_sprintf( level.voteDisplayString, sizeof( level.voteDisplayString ), "Shuffle teams?" );
         } else if ( !Q_stricmp( arg1, "kick" ) ) {
                 i = 0;
-                while(Q_stricmp(arg2,(g_entities+i)->client->pers.netname)) {
+                while((g_entities+i) == NULL || (g_entities+i)->client == NULL || Q_stricmp(arg2,(g_entities+i)->client->pers.netname)) {
                     //Not client i, try next
                     i++;
                     if(i>=MAX_CLIENTS){ //Only numbers <128 is clients

File Added: pkgsrc/games/openarena/patches/patch-code_q3__ui_ui__firstconnect.c
$NetBSD: patch-code_q3__ui_ui__firstconnect.c,v 1.1 2021/04/03 15:34:04 nia Exp $

Request confirmation if a user enables auto-downloading, since it is a
security risk. From Debian.

--- code/q3_ui/ui_firstconnect.c.orig	2011-11-08 20:27:29.000000000 +0000
+++ code/q3_ui/ui_firstconnect.c
@@ -194,7 +194,17 @@ FirstConnect_StatusBar_Download
 =================
 */
 static void FirstConnect_StatusBar_Download( void* ptr ) {
-		UI_DrawString( 320, 440, "Auto download missing maps and mods", UI_CENTER|UI_SMALLFONT, colorWhite );
+		UI_DrawString( 320, 440, "Security risk, see <http://deb.li/Q3DL>", UI_CENTER|UI_SMALLFONT, colorWhite );
+}
+
+static void AutoDownloadAction( qboolean result )
+{
+	if (result) {
+		trap_Cvar_SetValue( "cl_allowDownload", 1 );
+	} else {
+		trap_Cvar_SetValue( "cl_allowDownload", 0 );
+	}
+	s_firstconnect.allowdownload.curvalue = result;
 }
 
 /*
@@ -251,8 +261,11 @@ static void FirstConnect_Event( void* pt
                         break;
 
                 case ID_ALLOWDOWNLOAD:
-                        trap_Cvar_SetValue( "cl_allowDownload", s_firstconnect.allowdownload.curvalue );
                         trap_Cvar_SetValue( "sv_allowDownload", s_firstconnect.allowdownload.curvalue );
+                        if ( s_firstconnect.allowdownload.curvalue )
+				UI_ConfirmAutoDownload( AutoDownloadAction );
+			else
+				trap_Cvar_SetValue( "cl_allowDownload", 0 );
                         break;
 
                 case ID_DELAGHITSCAN:

File Added: pkgsrc/games/openarena/patches/patch-code_q3__ui_ui__local.h
$NetBSD: patch-code_q3__ui_ui__local.h,v 1.1 2021/04/03 15:34:04 nia Exp $

Request confirmation if a user enables auto-downloading, since it is a
security risk. From Debian.

--- code/q3_ui/ui_local.h.orig	2011-11-08 20:27:29.000000000 +0000
+++ code/q3_ui/ui_local.h
@@ -458,6 +458,7 @@ extern void PlayerSettings_Cache( void )
 // ui_preferences.c
 //
 extern void UI_PreferencesMenu( void );
+extern void UI_ConfirmAutoDownload( void (*action) (qboolean) );
 extern void Preferences_Cache( void );
 
 //

File Added: pkgsrc/games/openarena/patches/patch-code_q3__ui_ui__preferences.c
$NetBSD: patch-code_q3__ui_ui__preferences.c,v 1.1 2021/04/03 15:34:04 nia Exp $

Request confirmation if a user enables auto-downloading. From Debian.

--- code/q3_ui/ui_preferences.c.orig	2011-11-08 20:27:29.000000000 +0000
+++ code/q3_ui/ui_preferences.c
@@ -131,6 +131,41 @@ static void Preferences_SetMenuItems( vo
         s_preferences.teamchatbeep.curvalue     = trap_Cvar_VariableValue( "cg_teamChatBeep" ) != 0;
 }
 
+
+static void AutoDownloadAction( qboolean result )
+{
+	if (result) {
+		trap_Cvar_SetValue( "cl_allowDownload", 1 );
+	} else {
+		trap_Cvar_SetValue( "cl_allowDownload", 0 );
+	}
+	s_preferences.allowdownload.curvalue = result;
+}
+
+static void UI_ConfirmAutoDownload_Draw ( void )
+{
+	UI_DrawProportionalString( SCREEN_WIDTH/2, 356 + PROP_HEIGHT * 0,
+		"WARNING: This is a security risk.",
+		UI_CENTER|UI_SMALLFONT, color_yellow );
+	UI_DrawProportionalString( SCREEN_WIDTH/2, 356 + PROP_HEIGHT * 1,
+		"More information: <http://deb.li/Q3DL>",
+		UI_CENTER|UI_SMALLFONT, color_yellow );
+}
+
+void UI_ConfirmAutoDownload( void (*action) (qboolean) )
+{
+	if (trap_Cvar_VariableValue( "cl_allowDownload" ) != 0) {
+		/* already set */
+		return;
+	}
+
+	UI_ConfirmMenu_Style(
+		"Auto-download?",
+		UI_CENTER|UI_SMALLFONT,
+		UI_ConfirmAutoDownload_Draw,
+		action);
+}
+
 static void Preferences_Event( void* ptr, int notification ) {
 	if( notification != QM_ACTIVATED ) {
 		return;
@@ -216,8 +251,11 @@ static void Preferences_Event( void* ptr
 		break;
 
 	case ID_ALLOWDOWNLOAD:
-		trap_Cvar_SetValue( "cl_allowDownload", s_preferences.allowdownload.curvalue );
 		trap_Cvar_SetValue( "sv_allowDownload", s_preferences.allowdownload.curvalue );
+		if ( s_preferences.allowdownload.curvalue )
+			UI_ConfirmAutoDownload( AutoDownloadAction );
+		else
+			trap_Cvar_SetValue( "cl_allowDownload", 0 );
 		break;
                
         case ID_DELAGHITSCAN:

File Added: pkgsrc/games/openarena/patches/patch-code_qcommon_q__platform.h
$NetBSD: patch-code_qcommon_q__platform.h,v 1.1 2021/04/03 15:34:04 nia Exp $

Get ARCH_STRING from the build environment rather than hardcoded lists.

--- code/qcommon/q_platform.h.orig	2011-11-08 20:27:31.000000000 +0000
+++ code/qcommon/q_platform.h
@@ -134,13 +134,15 @@ Foundation, Inc., 51 Franklin St, Fifth 
 #define PATH_SEP '/'
 
 #ifdef __ppc__
-#define ARCH_STRING "ppc"
 #define Q3_BIG_ENDIAN
 #elif defined __i386__
-#define ARCH_STRING "i386"
 #define Q3_LITTLE_ENDIAN
 #endif
 
+#if !defined(ARCH_STRING)
+# error ARCH_STRING should be defined by the Makefile
+#endif
+
 #define DLL_EXT ".dylib"
 
 #endif
@@ -155,34 +157,8 @@ Foundation, Inc., 51 Franklin St, Fifth 
 #define ID_INLINE inline
 #define PATH_SEP '/'
 
-#if defined __i386__
-#define ARCH_STRING "i386"
-#elif defined __x86_64__
-#define ARCH_STRING "x86_64"
-#elif defined __powerpc64__
-#define ARCH_STRING "ppc64"
-#elif defined __powerpc__
-#define ARCH_STRING "ppc"
-#elif defined __s390__
-#define ARCH_STRING "s390"
-#elif defined __s390x__
-#define ARCH_STRING "s390x"
-#elif defined __ia64__
-#define ARCH_STRING "ia64"
-#elif defined __alpha__
-#define ARCH_STRING "alpha"
-#elif defined __sparc__
-#define ARCH_STRING "sparc"
-#elif defined __arm__
-#define ARCH_STRING "arm"
-#elif defined __cris__
-#define ARCH_STRING "cris"
-#elif defined __hppa__
-#define ARCH_STRING "hppa"
-#elif defined __mips__
-#define ARCH_STRING "mips"
-#elif defined __sh__
-#define ARCH_STRING "sh"
+#if !defined(ARCH_STRING)
+# error ARCH_STRING should be defined by the Makefile
 #endif
 
 #if __FLOAT_WORD_ORDER == __BIG_ENDIAN
@@ -217,10 +193,8 @@ Foundation, Inc., 51 Franklin St, Fifth 
 #define ID_INLINE inline
 #define PATH_SEP '/'
 
-#ifdef __i386__
-#define ARCH_STRING "i386"
-#elif defined __axp__
-#define ARCH_STRING "alpha"
+#if !defined(ARCH_STRING)
+# error ARCH_STRING should be defined by the Makefile
 #endif
 
 #if BYTE_ORDER == BIG_ENDIAN
@@ -244,10 +218,8 @@ Foundation, Inc., 51 Franklin St, Fifth 
 #define ID_INLINE inline
 #define PATH_SEP '/'
 
-#ifdef __i386__
-#define ARCH_STRING "i386"
-#elif defined __sparc
-#define ARCH_STRING "sparc"
+#if !defined(ARCH_STRING)
+# error ARCH_STRING should be defined by the Makefile
 #endif
 
 #if defined( _BIG_ENDIAN )