On Sunday 11 March 2012 17:41:03 Kirill Bychkov wrote:
> Hi. patches/patch-code_sys_sys_unix_c was killed 3 days ago, and you still
> have this in your diff.
> Anyway playing with bots on localhost is fine on amd64
On Sunday 11 March 2012 16:12:47 Stuart Henderson wrote:
> REVISION-data should be zapped, rest reads OK but untested
Fixed diff attached.
PS. It might be enough on macppc to package this and run openarena-server.
Then load any map, for example: "map aggressor". That should show if it's
using the VM or the interpreter just like openarena-client. Please send
me a log of the output to my personal mail if anyone tests this.
--
Antti Harri
diff --git games/openarena/Makefile games/openarena/Makefile
index b290974..592ba81 100644
--- games/openarena/Makefile
+++ games/openarena/Makefile
@@ -10,27 +10,24 @@ MULTI_PACKAGES = -main -server -data
CATEGORIES = games x11
-V = 0.8.5
-E_V = 0.8.1 # engine version
+V = 0.8.8
+E_V = ${V} # engine version
PKGNAME = openarena-${V}
PKGNAME-main = openarena-${V}
PKGNAME-server = openarena-server-${V}
PKGNAME-data = openarena-data-${V}
-REVISION-main = 0
-REVISION-server = 0
-REVISION-data = 0
-
PKG_ARCH-data = *
-DISTNAME = oa${V:S/.//g}
-DISTFILES = ${DISTNAME}.zip openarena-engine-${E_V}-1.tar.bz2
+DISTNAME = openarena-${V}
+DISTFILES = ${DISTNAME}.zip openarena-engine-source-${E_V}.tar.bz2:0
-MS_PREFIX = http://download.tuxfamily.org/openarena/rel/
HOMEPAGE = http://www.openarena.ws/
-MASTER_SITES = ${MS_PREFIX}/${V:S/.//g}/ \
- ${MS_PREFIX}/${E_V:S/.//g}/source/ \
+MS_PREFIX = http://download.tuxfamily.org/openarena/rel/
+MASTER_SITES = ${MS_PREFIX}${V:S/.//g}/ \
+ ${MS_PREFIX}${E_V:S/.//g}/source/
+MASTER_SITES0 =
http://files.poulsander.com/~poul19/public_files/oa/dev088/ \
http://openbsd.fi/distfiles/
# GPLv2 but contains software with other (free) licenses as well
@@ -40,22 +37,25 @@ PERMIT_DISTFILES_CDROM =Yes
PERMIT_DISTFILES_FTP = Yes
WANTLIB-main = GL c m pthread sndio ogg>=5 SDL>=7 vorbis>=7 \
- vorbisfile>=5
+ vorbisfile>=5 curl
WANTLIB-server = c m
LIB_DEPENDS-main = audio/libogg \
+ audio/libvorbis \
devel/sdl \
- audio/libvorbis
+ net/curl
RUN_DEPENDS-main = ${BASE_PKGPATH},-data
RUN_DEPENDS-server = ${BASE_PKGPATH},-data
-ALL_TARGET = release
USE_GMAKE = Yes
MAKE_FLAGS = USE_OPENAL=0 \
- BINEXT='' \
+ FULLBINEXT='' \
+ V=1 \
DEFAULT_BASEDIR=${LOCALBASE}/share/openarena
-WRKDIST = ${WRKDIR}/openarena-engine-${E_V}
+NO_REGRESS = Yes
+WRKDIST = ${WRKDIR}/openarena-engine-source-${E_V}
+ALL_TARGET = release
post-extract:
find ${WRKDIR} -name '*.orig' -print0 | xargs -0r rm -f
diff --git games/openarena/distinfo games/openarena/distinfo
index fa891e0..dfad2d2 100644
--- games/openarena/distinfo
+++ games/openarena/distinfo
@@ -1,10 +1,10 @@
-MD5 (oa085.zip) = NrxQRfKfzfOBENoPD1kpkw==
-MD5 (openarena-engine-0.8.1-1.tar.bz2) = TuaW6sxLA1D527VYjc10og==
-RMD160 (oa085.zip) = SH1bw959W+u4LB5/rvW4r9F9QfQ=
-RMD160 (openarena-engine-0.8.1-1.tar.bz2) = Ej6fcGIf2FY4XGynrQWAuBRU1oc=
-SHA1 (oa085.zip) = NOn0OMPBjXmMELKwZprU04qKTtY=
-SHA1 (openarena-engine-0.8.1-1.tar.bz2) = beNFwL69h+FAbLBxiVN9uZpCKAg=
-SHA256 (oa085.zip) = +NSSnwa9+LI8k098FFPzsxBuhRaS/eQHlUXmfFiOnEg=
-SHA256 (openarena-engine-0.8.1-1.tar.bz2) =
QwuptpHICFuUbgBPDMiQmVx/gpVJi9jIznRCk6hydNI=
-SIZE (oa085.zip) = 356536552
-SIZE (openarena-engine-0.8.1-1.tar.bz2) = 2951703
+MD5 (openarena-0.8.8.zip) = nzU9lteInDdzSdaSw5BeWw==
+MD5 (openarena-engine-source-0.8.8.tar.bz2) = ypsjm0d61njr94HhTObteg==
+RMD160 (openarena-0.8.8.zip) = 3sfEPCcnI16Xvhqzlo2IA/3XElE=
+RMD160 (openarena-engine-source-0.8.8.tar.bz2) = 6CPBhO/6y0Lp7NKq94nZVwIh6JY=
+SHA1 (openarena-0.8.8.zip) = N6tBmQs3RZgizowv5ZBgdhbh9tE=
+SHA1 (openarena-engine-source-0.8.8.tar.bz2) = ZPMzwpCxW2sOOBncEgs+yiZTNA4=
+SHA256 (openarena-0.8.8.zip) = Wo+vf1tR81GwoWGMBra5il8aZ1jx05gY3iyH3yoLrEo=
+SHA256 (openarena-engine-source-0.8.8.tar.bz2) =
lapQDLfkLlf7H223uXolQWj0+i42dtbNwzGAtp/eDnc=
+SIZE (openarena-0.8.8.zip) = 425189255
+SIZE (openarena-engine-source-0.8.8.tar.bz2) = 3777830
diff --git games/openarena/patches/patch-Makefile
games/openarena/patches/patch-Makefile
index e0fdec2..58b35ab 100644
--- games/openarena/patches/patch-Makefile
+++ games/openarena/patches/patch-Makefile
@@ -1,7 +1,7 @@
$OpenBSD: ports/games/openarena/patches/patch-Makefile,v 1.3 2010/05/27
03:47:28 jakemsr Exp $
---- Makefile.orig Sat Aug 9 13:22:37 2008
-+++ Makefile Mon May 3 04:26:35 2010
-@@ -143,13 +143,14 @@ endif
+--- Makefile.orig Tue Dec 13 00:48:49 2011
++++ Makefile Wed Mar 7 11:21:26 2012
+@@ -164,13 +164,14 @@ endif
#############################################################################
@@ -18,7 +18,7 @@ $OpenBSD: ports/games/openarena/patches/patch-Makefile,v 1.3
2010/05/27 03:47:28
ASMDIR=$(MOUNT_DIR)/asm
SYSDIR=$(MOUNT_DIR)/sys
GDIR=$(MOUNT_DIR)/game
-@@ -584,12 +585,11 @@ else # ifeq freebsd
+@@ -638,11 +639,11 @@ else # ifeq freebsd
ifeq ($(PLATFORM),openbsd)
@@ -27,63 +27,52 @@ $OpenBSD: ports/games/openarena/patches/patch-Makefile,v
1.3 2010/05/27 03:47:28
+ # Get the machine type
+ ARCH=$(shell uname -m)
--
BASE_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes \
-- -DUSE_ICON $(shell sdl-config --cflags)
-+ -DUSE_ICON -DARCH_STRING=\\\"${ARCH}\\\" $(shell sdl-config --cflags)
+- -DUSE_ICON
++ -DUSE_ICON -DARCH_STRING=\\\"${ARCH}\\\" -DMAP_ANONYMOUS=MAP_ANON
+ CLIENT_CFLAGS = $(SDL_CFLAGS)
+ SERVER_CFLAGS =
- ifeq ($(USE_OPENAL),1)
- BASE_CFLAGS += -DUSE_OPENAL
-@@ -603,8 +603,8 @@ ifeq ($(PLATFORM),openbsd)
+@@ -662,8 +663,7 @@ ifeq ($(PLATFORM),openbsd)
+ USE_CURL_DLOPEN=0
endif
- BASE_CFLAGS += -DNO_VM_COMPILED -I/usr/X11R6/include -I/usr/local/include
-- RELEASE_CFLAGS=$(BASE_CFLAGS) -DNDEBUG -O3 \
-- -march=pentium -fomit-frame-pointer -pipe -ffast-math \
-+ RELEASE_CFLAGS=$(BASE_CFLAGS) -DNDEBUG \
-+ -fomit-frame-pointer -pipe -ffast-math \
- -falign-loops=2 -falign-jumps=2 -falign-functions=2 \
- -funroll-loops -fstrength-reduce
- HAVE_VM_COMPILED=false
-@@ -615,16 +615,15 @@ ifeq ($(PLATFORM),openbsd)
- SHLIBCFLAGS=-fPIC
- SHLIBLDFLAGS=-shared $(LDFLAGS)
-
-- THREAD_LDFLAGS=-lpthread
-+ THREAD_LDFLAGS=-pthread
- LDFLAGS=-lm
-
-- CLIENT_LDFLAGS =
-+ CLIENT_LDFLAGS = $(shell sdl-config --libs) -lGL -lsndio
-
-- CLIENT_LDFLAGS += $(shell sdl-config --libs) -lGL
--
+- BASE_CFLAGS += -DNO_VM_COMPILED
+- HAVE_VM_COMPILED=false
++ HAVE_VM_COMPILED=true
+
+ SHLIBEXT=so
+ SHLIBNAME=.$(SHLIBEXT)
+@@ -675,11 +675,12 @@ ifeq ($(PLATFORM),openbsd)
+
+ CLIENT_LIBS =
+
+- CLIENT_LIBS += $(SDL_LIBS) -lGL
++ CLIENT_LIBS += $(SDL_LIBS) -lGL -lsndio
+
ifeq ($(USE_OPENAL),1)
-+ CLIENT_LDFLAGS += $(THREAD_LDFLAGS)
++ CLIENT_LIBS += $(THREAD_LIBS)
ifneq ($(USE_OPENAL_DLOPEN),1)
-- CLIENT_LDFLAGS += $(THREAD_LDFLAGS) -lossaudio -lopenal
-+ CLIENT_LDFLAGS += $(shell openal-config --libs)
+- CLIENT_LIBS += $(THREAD_LIBS) -lossaudio -lopenal
++ CLIENT_LIBS += $(shell openal-config --libs)
endif
endif
-@@ -781,13 +780,13 @@ endif #SunOS
- TARGETS =
+@@ -851,11 +852,11 @@ ifndef SHLIBNAME
+ endif
ifneq ($(BUILD_SERVER),0)
-- TARGETS += $(B)/oa_ded.$(ARCH)$(BINEXT)
-+ TARGETS += $(B)/openarena-server$(BINEXT)
+- TARGETS += $(B)/oa_ded$(FULLBINEXT)
++ TARGETS += $(B)/openarena-server$(FULLBINEXT)
endif
ifneq ($(BUILD_CLIENT),0)
-- TARGETS += $(B)/openarena.$(ARCH)$(BINEXT)
-+ TARGETS += $(B)/openarena-client$(BINEXT)
+- TARGETS += $(B)/openarena$(FULLBINEXT)
++ TARGETS += $(B)/openarena-client$(FULLBINEXT)
ifneq ($(BUILD_CLIENT_SMP),0)
-- TARGETS += $(B)/openarena-smp.$(ARCH)$(BINEXT)
-+ TARGETS += $(B)/openarena-smp$(BINEXT)
+ TARGETS += $(B)/openarena-smp$(FULLBINEXT)
endif
- endif
-
-@@ -1347,8 +1346,9 @@ Q3OBJ = \
+@@ -1471,8 +1472,9 @@ Q3OBJ = \
\
$(B)/client/sdl_gamma.o \
$(B)/client/sdl_input.o \
@@ -94,31 +83,25 @@ $OpenBSD: ports/games/openarena/patches/patch-Makefile,v
1.3 2010/05/27 03:47:28
$(B)/client/con_passive.o \
$(B)/client/con_log.o \
$(B)/client/sys_main.o
-@@ -1450,12 +1450,12 @@ Q3POBJ += \
+@@ -1597,7 +1599,7 @@ Q3POBJ += \
Q3POBJ_SMP += \
$(B)/clientsmp/sdl_glimp.o
--$(B)/openarena.$(ARCH)$(BINEXT): $(Q3OBJ) $(Q3POBJ) $(LIBSDLMAIN)
-+$(B)/openarena-client$(BINEXT): $(Q3OBJ) $(Q3POBJ) $(LIBSDLMAIN)
- $(echo_cmd) "LD $@"
- $(Q)$(CC) -o $@ $(Q3OBJ) $(Q3POBJ) $(CLIENT_LDFLAGS) \
- $(LDFLAGS) $(LIBSDLMAIN)
-
--$(B)/openarena-smp.$(ARCH)$(BINEXT): $(Q3OBJ) $(Q3POBJ_SMP) $(LIBSDLMAIN)
-+$(B)/openarena-smp$(BINEXT): $(Q3OBJ) $(Q3POBJ_SMP) $(LIBSDLMAIN)
+-$(B)/openarena$(FULLBINEXT): $(Q3OBJ) $(Q3POBJ) $(LIBSDLMAIN)
++$(B)/openarena-client$(FULLBINEXT): $(Q3OBJ) $(Q3POBJ) $(LIBSDLMAIN)
$(echo_cmd) "LD $@"
- $(Q)$(CC) -o $@ $(Q3OBJ) $(Q3POBJ_SMP) $(CLIENT_LDFLAGS) \
- $(THREAD_LDFLAGS) $(LDFLAGS) $(LIBSDLMAIN)
-@@ -1582,7 +1582,7 @@ else
- $(B)/ded/con_tty.o
+ $(Q)$(CC) $(CLIENT_CFLAGS) $(CFLAGS) $(CLIENT_LDFLAGS) $(LDFLAGS) \
+ -o $@ $(Q3OBJ) $(Q3POBJ) \
+@@ -1756,7 +1758,7 @@ ifeq ($(PLATFORM),darwin)
+ $(B)/ded/sys_osx.o
endif
--$(B)/oa_ded.$(ARCH)$(BINEXT): $(Q3DOBJ)
-+$(B)/openarena-server$(BINEXT): $(Q3DOBJ)
+-$(B)/oa_ded$(FULLBINEXT): $(Q3DOBJ)
++$(B)/openarena-server$(FULLBINEXT): $(Q3DOBJ)
$(echo_cmd) "LD $@"
- $(Q)$(CC) -o $@ $(Q3DOBJ) $(LDFLAGS)
+ $(Q)$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(Q3DOBJ) $(LIBS)
-@@ -1899,6 +1899,9 @@ $(B)/client/%.o: $(SPEEXDIR)/%.c
+@@ -2076,6 +2078,9 @@ $(B)/client/%.o: $(ZDIR)/%.c
$(B)/client/%.o: $(RDIR)/%.c
$(DO_CC)
@@ -128,25 +111,21 @@ $OpenBSD: ports/games/openarena/patches/patch-Makefile,v
1.3 2010/05/27 03:47:28
$(B)/client/%.o: $(SDLDIR)/%.c
$(DO_CC)
-@@ -2037,17 +2040,17 @@ copyfiles: release
+@@ -2223,7 +2228,7 @@ copyfiles: release
-$(MKDIR) -p -m 0755 $(COPYDIR)/missionpack
ifneq ($(BUILD_CLIENT),0)
-- $(INSTALL) -s -m 0755 $(BR)/openarena.$(ARCH)$(BINEXT)
$(COPYDIR)/openarena.$(ARCH)$(BINEXT)
-+ $(INSTALL) -s -m 0755 $(BR)/openarena-client$(BINEXT)
$(COPYDIR)/openarena-client$(BINEXT)
+- $(INSTALL) $(STRIP_FLAG) -m 0755 $(BR)/openarena$(FULLBINEXT)
$(COPYBINDIR)/openarena$(FULLBINEXT)
++ $(INSTALL) $(STRIP_FLAG) -m 0755 $(BR)/openarena-client$(FULLBINEXT)
$(COPYBINDIR)/openarena-client$(FULLBINEXT)
endif
# Don't copy the SMP until it's working together with SDL.
- #ifneq ($(BUILD_CLIENT_SMP),0)
--# $(INSTALL) -s -m 0755 $(BR)/openarena-smp.$(ARCH)$(BINEXT)
$(COPYDIR)/openarena-smp.$(ARCH)$(BINEXT)
-+# $(INSTALL) -s -m 0755 $(BR)/openarena-smp$(BINEXT)
$(COPYDIR)/openarena-smp$(BINEXT)
- #endif
+@@ -2233,7 +2238,7 @@ endif
ifneq ($(BUILD_SERVER),0)
-- @if [ -f $(BR)/oa_ded.$(ARCH)$(BINEXT) ]; then \
-- $(INSTALL) -s -m 0755 $(BR)/oa_ded.$(ARCH)$(BINEXT)
$(COPYDIR)/oa_ded.$(ARCH)$(BINEXT); \
-+ @if [ -f $(BR)/openarena-server$(BINEXT) ]; then \
-+ $(INSTALL) -s -m 0755 $(BR)/openarena-server$(BINEXT)
$(COPYDIR)/openarena-server$(BINEXT); \
+ @if [ -f $(BR)/oa_ded$(FULLBINEXT) ]; then \
+- $(INSTALL) $(STRIP_FLAG) -m 0755 $(BR)/oa_ded$(FULLBINEXT)
$(COPYBINDIR)/oa_ded$(FULLBINEXT); \
++ $(INSTALL) $(STRIP_FLAG) -m 0755
$(BR)/openarena-server$(FULLBINEXT)
$(COPYBINDIR)/openarena-server$(FULLBINEXT); \
fi
endif
diff --git games/openarena/patches/patch-code_client_libmumblelink_c
games/openarena/patches/patch-code_client_libmumblelink_c
index 0aaa068..79e1c4f 100644
--- games/openarena/patches/patch-code_client_libmumblelink_c
+++ games/openarena/patches/patch-code_client_libmumblelink_c
@@ -1,7 +1,7 @@
$OpenBSD: ports/games/openarena/patches/patch-code_client_libmumblelink_c,v
1.1.1.1 2008/10/27 13:29:02 weerd Exp $
---- code/client/libmumblelink.c.orig Thu Aug 21 23:11:45 2008
-+++ code/client/libmumblelink.c Thu Aug 21 23:11:59 2008
-@@ -86,7 +86,11 @@ int mumble_link(const char* name)
+--- code/client/libmumblelink.c.orig Sat Dec 24 14:29:31 2011
++++ code/client/libmumblelink.c Tue Mar 6 22:44:31 2012
+@@ -101,7 +101,11 @@ int mumble_link(const char* name)
return 0;
snprintf(file, sizeof (file), "/MumbleLink.%d", getuid());
diff --git games/openarena/patches/patch-code_client_snd_dma_c
games/openarena/patches/patch-code_client_snd_dma_c
index 4b292c5..4375cf8 100644
--- games/openarena/patches/patch-code_client_snd_dma_c
+++ games/openarena/patches/patch-code_client_snd_dma_c
@@ -1,7 +1,7 @@
$OpenBSD: ports/games/openarena/patches/patch-code_client_snd_dma_c,v 1.1
2010/05/27 03:47:28 jakemsr Exp $
---- code/client/snd_dma.c.orig Mon May 3 05:44:09 2010
-+++ code/client/snd_dma.c Mon May 3 06:18:07 2010
-@@ -1221,7 +1221,6 @@ void S_Update_(void) {
+--- code/client/snd_dma.c.orig Sat Dec 24 14:29:31 2011
++++ code/client/snd_dma.c Tue Mar 6 22:44:31 2012
+@@ -1219,7 +1219,6 @@ void S_Update_(void) {
static float lastTime = 0.0f;
float ma, op;
float thisTime, sane;
@@ -9,7 +9,7 @@ $OpenBSD:
ports/games/openarena/patches/patch-code_client_snd_dma_c,v 1.1 2010/0
if ( !s_soundStarted || s_soundMuted ) {
return;
-@@ -1231,11 +1230,6 @@ void S_Update_(void) {
+@@ -1229,11 +1228,6 @@ void S_Update_(void) {
// Updates s_soundtime
S_GetSoundtime();
diff --git games/openarena/patches/patch-code_qcommon_net_ip_c
games/openarena/patches/patch-code_qcommon_net_ip_c
deleted file mode 100644
index 9512fc8..0000000
--- games/openarena/patches/patch-code_qcommon_net_ip_c
+++ /dev/null
@@ -1,25 +0,0 @@
-$OpenBSD: ports/games/openarena/patches/patch-code_qcommon_net_ip_c,v 1.1.1.1
2008/10/27 13:29:02 weerd Exp $
---- code/qcommon/net_ip.c.orig Sun Aug 31 14:36:07 2008
-+++ code/qcommon/net_ip.c Sun Aug 31 14:44:25 2008
-@@ -335,7 +335,21 @@ Sys_SockaddrToString
- */
- static void Sys_SockaddrToString(char *dest, int destlen, struct sockaddr
*input, int inputlen)
- {
-+/* OA's inputlen is incompatible with getnameinfo() on OpenBSD */
-+#ifdef __OpenBSD__
-+ struct sockaddr_in *s4;
-+ struct sockaddr_in6 *s6;
-+
-+ if (input->sa_family == AF_INET) {
-+ s4 = (struct sockaddr_in *)(input);
-+ inet_ntop(AF_INET, (void *)&(s4->sin_addr), dest, destlen);
-+ } else if (input->sa_family == AF_INET6) {
-+ s6 = (struct sockaddr_in6 *)(input);
-+ inet_ntop(AF_INET6, (void *)&(s6->sin6_addr), dest, destlen);
-+ }
-+#else
- getnameinfo(input, inputlen, dest, destlen, NULL, 0, NI_NUMERICHOST);
-+#endif
- }
-
- /*
diff --git games/openarena/patches/patch-code_qcommon_q_platform_h
games/openarena/patches/patch-code_qcommon_q_platform_h
index 9ca550b..c6b3d3f 100644
--- games/openarena/patches/patch-code_qcommon_q_platform_h
+++ games/openarena/patches/patch-code_qcommon_q_platform_h
@@ -1,7 +1,7 @@
$OpenBSD: ports/games/openarena/patches/patch-code_qcommon_q_platform_h,v
1.1.1.1 2008/10/27 13:29:02 weerd Exp $
---- code/qcommon/q_platform.h.orig Sun Jun 29 16:00:45 2008
-+++ code/qcommon/q_platform.h Fri Aug 22 21:20:21 2008
-@@ -170,7 +170,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+--- code/qcommon/q_platform.h.orig Sat Dec 24 14:29:32 2011
++++ code/qcommon/q_platform.h Tue Mar 6 22:44:31 2012
+@@ -209,7 +209,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
//=================================================================== BSD ===
@@ -10,7 +10,7 @@ $OpenBSD:
ports/games/openarena/patches/patch-code_qcommon_q_platform_h,v 1.1.1.
#include <sys/types.h>
#include <machine/endian.h>
-@@ -181,8 +181,6 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+@@ -220,8 +220,6 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
#if defined(__FreeBSD__)
#define OS_STRING "freebsd"
@@ -19,7 +19,7 @@ $OpenBSD:
ports/games/openarena/patches/patch-code_qcommon_q_platform_h,v 1.1.1.
#elif defined(__NetBSD__)
#define OS_STRING "netbsd"
#endif
-@@ -206,6 +204,29 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+@@ -247,6 +245,29 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
#endif
diff --git games/openarena/patches/patch-code_qcommon_q_shared_h
games/openarena/patches/patch-code_qcommon_q_shared_h
deleted file mode 100644
index 75f19c6..0000000
--- games/openarena/patches/patch-code_qcommon_q_shared_h
+++ /dev/null
@@ -1,15 +0,0 @@
-$OpenBSD: ports/games/openarena/patches/patch-code_qcommon_q_shared_h,v 1.1
2010/05/27 03:47:28 jakemsr Exp $
---- code/qcommon/q_shared.h.orig Mon May 3 04:41:00 2010
-+++ code/qcommon/q_shared.h Mon May 3 04:41:20 2010
-@@ -157,9 +157,9 @@ typedef int clipHandle_t;
- #define PAD(x,y) (((x)+(y)-1) & ~((y)-1))
-
- #ifdef __GNUC__
--#define ALIGN(x) __attribute__((aligned(x)))
-+#define QALIGN(x) __attribute__((aligned(x)))
- #else
--#define ALIGN(x)
-+#define QALIGN(x)
- #endif
-
- #ifndef NULL
diff --git games/openarena/patches/patch-code_qcommon_vm_interpreted_c
games/openarena/patches/patch-code_qcommon_vm_interpreted_c
deleted file mode 100644
index 607d606..0000000
--- games/openarena/patches/patch-code_qcommon_vm_interpreted_c
+++ /dev/null
@@ -1,23 +0,0 @@
-$OpenBSD: ports/games/openarena/patches/patch-code_qcommon_vm_interpreted_c,v
1.1 2009/02/03 19:48:42 kili Exp $
---- code/qcommon/vm_interpreted.c.orig Sat Aug 9 18:28:20 2008
-+++ code/qcommon/vm_interpreted.c Sat Jan 10 21:23:02 2009
-@@ -532,8 +532,8 @@ nextInstruction2:
-
- //VM_LogSyscalls( (int *)&image[ programStack + 4 ] );
- {
-- intptr_t* argptr = (intptr_t *)&image[
programStack + 4 ];
-- #if __WORDSIZE == 64
-+ intptr_t* argptr;
-+ #if LONG_BIT == 64
- // the vm has ints on the stack, we expect
- // longs so we have to convert it
- intptr_t argarr[16];
-@@ -542,6 +542,8 @@ nextInstruction2:
- argarr[i] = *(int*)&image[
programStack + 4 + 4*i ];
- }
- argptr = argarr;
-+ #else
-+ argptr = (intptr_t *)&image[
programStack + 4 ];
- #endif
- r = vm->systemCall( argptr );
- }
diff --git games/openarena/patches/patch-code_qcommon_vm_x86_64_c
games/openarena/patches/patch-code_qcommon_vm_x86_64_c
new file mode 100644
index 0000000..2489187
--- /dev/null
+++ games/openarena/patches/patch-code_qcommon_vm_x86_64_c
@@ -0,0 +1,24 @@
+$OpenBSD$
+
+ * Add PROT_READ to x86 and x86_64 VM mmap calls[1]
+
+[1] According to OpenBSD's mmap(2):
+
+BUGS
+ Due to a limitation of the current vm system (see uvm(9)), mapping
+ descriptors PROT_WRITE without also specifying PROT_READ is useless
+ (results in a segmentation fault when first accessing the mapping). This
+ means that such descriptors must be opened with O_RDWR, which requires
+ both read and write permissions on the underlying object.
+
+--- code/qcommon/vm_x86_64.c.orig Sat Dec 24 14:29:32 2011
++++ code/qcommon/vm_x86_64.c Sun Mar 11 15:22:24 2012
+@@ -445,7 +445,7 @@ void VM_Compile( vm_t *vm, vmHeader_t *header ) {
+ vm->codeLength = compiledOfs;
+
+ #ifdef VM_X86_64_MMAP
+- vm->codeBase = mmap(NULL, compiledOfs, PROT_WRITE,
MAP_SHARED|MAP_ANONYMOUS, -1, 0);
++ vm->codeBase = mmap(NULL, compiledOfs,
PROT_READ|PROT_WRITE, MAP_SHARED|MAP_ANONYMOUS, -1, 0);
+ if(vm->codeBase == MAP_FAILED)
+ Com_Error(ERR_FATAL, "VM_CompileX86_64: can't
mmap memory");
+ #elif __WIN64__
diff --git games/openarena/patches/patch-code_qcommon_vm_x86_c
games/openarena/patches/patch-code_qcommon_vm_x86_c
new file mode 100644
index 0000000..c68ca5a
--- /dev/null
+++ games/openarena/patches/patch-code_qcommon_vm_x86_c
@@ -0,0 +1,33 @@
+$OpenBSD$
+
+ * Add PROT_READ to x86 and x86_64 VM mmap calls[1]
+
+[1] According to OpenBSD's mmap(2):
+
+BUGS
+ Due to a limitation of the current vm system (see uvm(9)), mapping
+ descriptors PROT_WRITE without also specifying PROT_READ is useless
+ (results in a segmentation fault when first accessing the mapping). This
+ means that such descriptors must be opened with O_RDWR, which requires
+ both read and write permissions on the underlying object.
+
+--- code/qcommon/vm_x86.c.orig Sat Dec 24 14:29:32 2011
++++ code/qcommon/vm_x86.c Sun Mar 11 15:22:08 2012
+@@ -36,7 +36,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+
+ /* need this on NX enabled systems (i386 with PAE kernel or
+ * noexec32=on x86_64) */
+-#if defined(__linux__) || defined(__FreeBSD__)
++#if defined(__linux__) || defined(__FreeBSD__) || defined(__OpenBSD__)
+ #define VM_X86_MMAP
+ #endif
+
+@@ -1094,7 +1094,7 @@ void VM_Compile( vm_t *vm, vmHeader_t *header ) {
+ // copy to an exact size buffer on the hunk
+ vm->codeLength = compiledOfs;
+ #ifdef VM_X86_MMAP
+- vm->codeBase = mmap(NULL, compiledOfs, PROT_WRITE,
MAP_SHARED|MAP_ANONYMOUS, -1, 0);
++ vm->codeBase = mmap(NULL, compiledOfs, PROT_READ|PROT_WRITE,
MAP_SHARED|MAP_ANONYMOUS, -1, 0);
+ if(vm->codeBase == MAP_FAILED)
+ Com_Error(ERR_FATAL, "VM_CompileX86: can't mmap memory");
+ #elif _WIN32
diff --git games/openarena/patches/patch-code_renderer_tr_local_h
games/openarena/patches/patch-code_renderer_tr_local_h
deleted file mode 100644
index d24ad96..0000000
--- games/openarena/patches/patch-code_renderer_tr_local_h
+++ /dev/null
@@ -1,28 +0,0 @@
-$OpenBSD: ports/games/openarena/patches/patch-code_renderer_tr_local_h,v 1.1
2010/05/27 03:47:28 jakemsr Exp $
---- code/renderer/tr_local.h.orig Mon May 3 04:41:46 2010
-+++ code/renderer/tr_local.h Mon May 3 04:42:13 2010
-@@ -1302,16 +1302,16 @@ typedef struct stageVars
-
- typedef struct shaderCommands_s
- {
-- glIndex_t indexes[SHADER_MAX_INDEXES] ALIGN(16);
-- vec4_t xyz[SHADER_MAX_VERTEXES] ALIGN(16);
-- vec4_t normal[SHADER_MAX_VERTEXES] ALIGN(16);
-- vec2_t texCoords[SHADER_MAX_VERTEXES][2] ALIGN(16);
-- color4ub_t vertexColors[SHADER_MAX_VERTEXES] ALIGN(16);
-- int vertexDlightBits[SHADER_MAX_VERTEXES] ALIGN(16);
-+ glIndex_t indexes[SHADER_MAX_INDEXES] QALIGN(16);
-+ vec4_t xyz[SHADER_MAX_VERTEXES] QALIGN(16);
-+ vec4_t normal[SHADER_MAX_VERTEXES] QALIGN(16);
-+ vec2_t texCoords[SHADER_MAX_VERTEXES][2] QALIGN(16);
-+ color4ub_t vertexColors[SHADER_MAX_VERTEXES] QALIGN(16);
-+ int vertexDlightBits[SHADER_MAX_VERTEXES]
QALIGN(16);
-
-- stageVars_t svars ALIGN(16);
-+ stageVars_t svars QALIGN(16);
-
-- color4ub_t constantColor255[SHADER_MAX_VERTEXES] ALIGN(16);
-+ color4ub_t constantColor255[SHADER_MAX_VERTEXES] QALIGN(16);
-
- shader_t *shader;
- float shaderTime;
diff --git games/openarena/patches/patch-code_renderer_tr_surface_c
games/openarena/patches/patch-code_renderer_tr_surface_c
deleted file mode 100644
index b29f90c..0000000
--- games/openarena/patches/patch-code_renderer_tr_surface_c
+++ /dev/null
@@ -1,18 +0,0 @@
-$OpenBSD: ports/games/openarena/patches/patch-code_renderer_tr_surface_c,v 1.1
2010/05/27 03:47:28 jakemsr Exp $
---- code/renderer/tr_surface.c.orig Mon May 3 04:42:28 2010
-+++ code/renderer/tr_surface.c Mon May 3 04:42:47 2010
-@@ -615,10 +615,10 @@ static void LerpMeshVertexes_altivec(md3Surface_t *sur
- {
- short *oldXyz, *newXyz, *oldNormals, *newNormals;
- float *outXyz, *outNormal;
-- float oldXyzScale ALIGN(16);
-- float newXyzScale ALIGN(16);
-- float oldNormalScale ALIGN(16);
-- float newNormalScale ALIGN(16);
-+ float oldXyzScale QALIGN(16);
-+ float newXyzScale QALIGN(16);
-+ float oldNormalScale QALIGN(16);
-+ float newNormalScale QALIGN(16);
- int vertNum;
- unsigned lat, lng;
- int numVerts;
diff --git games/openarena/pkg/PLIST-data games/openarena/pkg/PLIST-data
index 540ace8..f958b12 100644
--- games/openarena/pkg/PLIST-data
+++ games/openarena/pkg/PLIST-data
@@ -9,5 +9,6 @@ share/openarena/baseoa/pak4-textures.pk3
share/openarena/baseoa/pak5-TA.pk3
share/openarena/baseoa/pak6-misc.pk3
share/openarena/baseoa/pak6-patch085.pk3
+share/openarena/baseoa/pak6-patch088.pk3
share/openarena/missionpack/
share/openarena/missionpack/mp-pak0.pk3