Update to 0.8.8. I've switched the VM on and tested it succesfully on amd64 and i386. Network play worked too on amd64. It didn't look like the gethostnameinfo-patch was needed anymore but I'd appreciate some test reports about networking and if OA works on macppc.
The two vm patches are from Toni Spets and actually for ioquake3 but they apply for OA as well, thanks! The site containing the engine tarball didn't seem too reliable so I decided to mirror it myself too. -- Antti Harri diff --git games/openarena/Makefile games/openarena/Makefile index 8e7d2f7..33ccfcb 100644 --- games/openarena/Makefile +++ games/openarena/Makefile @@ -10,8 +10,8 @@ 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} @@ -21,13 +21,14 @@ PKGNAME-data = openarena-data-${V} PKG_ARCH-data = * REVISION-data= 0 -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 @@ -37,22 +38,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/patches/patch-code_sys_sys_unix_c games/openarena/patches/patch-code_sys_sys_unix_c index aa80fa9..3b59558 100644 --- games/openarena/patches/patch-code_sys_sys_unix_c +++ games/openarena/patches/patch-code_sys_sys_unix_c @@ -1,7 +1,7 @@ $OpenBSD: ports/games/openarena/patches/patch-code_sys_sys_unix_c,v 1.1 2010/05/27 03:47:28 jakemsr Exp $ ---- code/sys/sys_unix.c.orig Sat May 2 16:44:02 2009 -+++ code/sys/sys_unix.c Sat May 2 16:44:21 2009 -@@ -139,7 +139,7 @@ qboolean Sys_RandomBytes( byte *string, int len ) +--- code/sys/sys_unix.c.orig Sat Dec 24 14:29:36 2011 ++++ code/sys/sys_unix.c Wed Mar 7 10:11:54 2012 +@@ -151,7 +151,7 @@ qboolean Sys_RandomBytes( byte *string, int len ) { FILE *fp; 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