aboutsummaryrefslogtreecommitdiffstats
path: root/games
diff options
context:
space:
mode:
authorcrees <crees@FreeBSD.org>2011-12-13 05:05:02 +0800
committercrees <crees@FreeBSD.org>2011-12-13 05:05:02 +0800
commit1236d1e4eafdbc631823536f7413747a8c892a3c (patch)
tree1d4ca4ed9c4eb64ec8331a37b0ee45bccf77e892 /games
parent8f3ce8d858d3d616bb5fcbe2d3e6885dcdf16a63 (diff)
downloadfreebsd-ports-graphics-1236d1e4eafdbc631823536f7413747a8c892a3c.tar.gz
freebsd-ports-graphics-1236d1e4eafdbc631823536f7413747a8c892a3c.tar.zst
freebsd-ports-graphics-1236d1e4eafdbc631823536f7413747a8c892a3c.zip
ioquake3:
- Allow slave ports to turn off some options - Add modular renderer support for slaves - Add WITH_DEBUG support - Always check against non-default options so that they can be overridden (e.g. for BATCH mode) - Add pkg-config build dependency ioquake3-devel, iourbanterror, openarena: - Fix CURL support - Link libraries instead of using dlopen ioquake3-devel, iourbanterror: - Update SVN snapshot r2064 to r2194 - Improved UDP download speed - New protocol version 71 - Reduced VOIP latency - Modular rendering system - Added r_mode -2 for using display resolution - Clang support openarena: - Switch from engine src dist 21 to 22 (both r1910 based) openarena-oax: - Update to B50 iourbanterror, openarena: - Clean up plist - Disable GAMELIBS option PR: ports/162301 Submitted by: Dominic Fandrey <kamikaze@bsdforen.de> (maintainer) Feature safe: yes
Diffstat (limited to 'games')
-rw-r--r--games/ioquake3-devel/Makefile4
-rw-r--r--games/ioquake3-devel/distinfo4
-rw-r--r--games/ioquake3/Makefile83
-rw-r--r--games/ioquake3/files/patch-Makefile126
-rw-r--r--games/ioquake3/files/patch-README4
-rw-r--r--games/ioquake3/files/patch-code-client-cl_curl.h12
-rw-r--r--games/ioquake3/files/patch-code-sys-sys_unix.c2
-rw-r--r--games/ioquake3/pkg-plist3
-rw-r--r--games/iourbanterror/Makefile1
-rw-r--r--games/iourbanterror/distinfo4
-rw-r--r--games/iourbanterror/files/patch-code-qcommon-q_shared.h19
-rw-r--r--games/iourbanterror/pkg-plist7
-rw-r--r--games/openarena-oax/Makefile2
-rw-r--r--games/openarena-oax/distinfo4
-rw-r--r--games/openarena/Makefile12
-rw-r--r--games/openarena/distinfo4
-rw-r--r--games/openarena/files/patch-Makefile52
-rw-r--r--games/openarena/pkg-plist5
18 files changed, 246 insertions, 102 deletions
diff --git a/games/ioquake3-devel/Makefile b/games/ioquake3-devel/Makefile
index ae296c8987a..a49d50a2212 100644
--- a/games/ioquake3-devel/Makefile
+++ b/games/ioquake3-devel/Makefile
@@ -17,7 +17,9 @@ COMMENT?= Development SVN snapshots of ioquake3
PLIST?= ${.CURDIR}/../ioquake3/pkg-plist
PATCHDIR?= ${WRKDIR}/freebsd-patchset/
-SVNREVISION?= 2064
+SVNREVISION?= 2194
BINSUFFIX?= -devel
+HAS_DLRENDERER?= yes
+
.include "${.CURDIR}/../ioquake3/Makefile"
diff --git a/games/ioquake3-devel/distinfo b/games/ioquake3-devel/distinfo
index c3a9223a463..168c2eb6d6e 100644
--- a/games/ioquake3-devel/distinfo
+++ b/games/ioquake3-devel/distinfo
@@ -1,2 +1,2 @@
-SHA256 (ioquake3-devel-1.36_SVN2064.zip) = 74385a02206b635fbbad20dd62b13a69ead63b6ca3412f4d20f95ae5c512ddce
-SIZE (ioquake3-devel-1.36_SVN2064.zip) = 6066356
+SHA256 (ioquake3-devel-1.36_SVN2194.zip) = 91ef10e29ebc49c4d1faa4265b573e98c3b804b71004111142ee7b55543a54ff
+SIZE (ioquake3-devel-1.36_SVN2194.zip) = 5660634
diff --git a/games/ioquake3/Makefile b/games/ioquake3/Makefile
index 87a2c1745ef..4ca12bc91fc 100644
--- a/games/ioquake3/Makefile
+++ b/games/ioquake3/Makefile
@@ -7,33 +7,40 @@
PORTNAME?= ioquake3
DISTVERSION?= 1.36
-PORTREVISION?= 7
+PORTREVISION?= 8
CATEGORIES= games
MASTER_SITES?= http://ioquake3.org/files/${DISTVERSION}/
+# Using zip this way enables slaves to override it.
+EXTRACT_SUFX?= .zip
MAINTAINER?= kamikaze@bsdforen.de
COMMENT?= Cleaned-up and enhanced version of Quake 3
-USE_ZIP?= yes
-# Allow slave ports to turn off zip.
-.if ${USE_ZIP} == "no"
-.undef USE_ZIP
-.endif
+BUILD_DEPENDS+= pkg-config:${PORTSDIR}/devel/pkg-config
+
USE_GMAKE= yes
OPTIONS+= CLIENT "Build client" on \
- GAMELIBS "Build game libraries" off \
DEDICATED "Build dedicated server" on \
CURL "Enable cURL for http/ftp download" on \
OPENAL "Enable OpenAL audio output" on \
MUMBLE "Enable Mumble support (no dependencies)" on \
VORBIS "Enable Ogg Vorbis support" on
+.if !defined(NO_GAMELIBS)
+OPTIONS+= GAMELIBS "Build game libraries" off
+.endif
+.if defined(HAS_DLRENDERER)
+OPTIONS+= DLRENDERER "Build dynamically loaded renderer" on
+.else
+WITHOUT_DLRENDERER= yes
+.endif
MAKE_ARGS+= DEFAULT_BASEDIR="${Q3DIR}" \
DEFAULT_LIBDIR="${LIBDIR}" \
HOMEPATH="${HOMEPATH}" \
VERSION="${DISTVERSION}" \
- ARCH="${ARCH}"
+ ARCH="${ARCH}" \
+ USE_LOCAL_HEADERS=0
PLIST_SUB+= LIBDIR="${LIBDIR:S/${PREFIX}\///}" \
ARCH="${ARCH}" \
BINSUFFIX="${BINSUFFIX}"
@@ -41,7 +48,7 @@ ALL_TARGET= release
MAKE_JOBS_SAFE= yes
LIBDIR= ${PREFIX}/lib/${PORTNAME}
-BUILDDIR= ${WRKSRC}/build/release-${OPSYS:L}-${ARCH}
+BUILDDIR= ${WRKSRC}/build/${ALL_TARGET}-${OPSYS:L}-${ARCH}
BINSUFFIX?=
HOMEPATH?= /.${PORTNAME}
Q3CLIENT?= ioquake3
@@ -53,6 +60,7 @@ Q3TOOLS?= q3asm \
Q3BASE?= baseq3 \
missionpack
Q3ICON?= ${PREFIX}/share/pixmaps/quake3.xpm
+Q3RENDERER?= renderer_opengl1_${ARCH}
Q3INSTALL?=
ONLY_FOR_ARCHS= amd64 i386
@@ -63,17 +71,28 @@ MACHINE_ARCH= ${ARCH}
.include <bsd.port.options.mk>
+.if defined(NO_GAMELIBS) && defined(WITH_GAMELIBS)
+IGNORE= does not support WITH_GAMELIBS
+.endif
+.if !defined(HAS_DLRENDERER) && defined(WITH_DLRENDERER)
+IGNORE= does not support WITH_DLRENDERER
+.endif
+
+.if defined(WITH_DEBUG)
+ALL_TARGET= debug
+.endif
+
.if !defined(DESKTOP_ENTRIES)
-.if defined(WITH_CLIENT)
+. if !defined(WITHOUT_CLIENT)
DESKTOP_ENTRIES+= "${Q3CLIENT} ${DISTVERSION}" "${COMMENT}" \
"${Q3ICON}" \
"${Q3CLIENT}${BINSUFFIX}" "Application;Game;" false
-.endif
-.if defined(WITH_SMP)
+. endif
+. if defined(WITH_SMP)
DESKTOP_ENTRIES+= "${Q3CLIENT} ${DISTVERSION} SMP" "${COMMENT}" \
"${Q3ICON}" \
"${Q3CLIENT}-smp${BINSUFFIX}" "Application;Game;" false
-.endif
+. endif
.endif
.if defined(WITHOUT_CLIENT) && defined(WITHOUT_DEDICATED) && \
@@ -81,37 +100,43 @@ DESKTOP_ENTRIES+= "${Q3CLIENT} ${DISTVERSION} SMP" "${COMMENT}" \
IGNORE= needs at least one of CLIENT, DEDICATED and SMP options
.endif
-.if defined(WITH_CLIENT) || defined(WITH_SMP)
+.if !defined(WITHOUT_CLIENT) || defined(WITH_SMP)
# cURL
-.if defined(WITH_CURL)
+.if !defined(WITHOUT_CURL)
LIB_DEPENDS+= curl.6:${PORTSDIR}/ftp/curl
-#MAKE_ARGS+= USE_CURL_DLOPEN=0
+MAKE_ARGS+= USE_CURL=1 USE_CURL_DLOPEN=0
.else
MAKE_ARGS+= USE_CURL=0
.endif
# OpenAL
-.if defined(WITH_OPENAL)
+.if !defined(WITHOUT_OPENAL)
USE_OPENAL= al
+MAKE_ARGS+= USE_OPENAL=1 USE_OPENAL_DLOPEN=0
.else
MAKE_ARGS+= USE_OPENAL=0
.endif
# SDL
USE_SDL= sdl
# Vorbis
-.if defined(WITH_VORBIS)
+.if !defined(WITHOUT_VORBIS)
LIB_DEPENDS+= vorbis.4:${PORTSDIR}/audio/libvorbis
MAKE_ARGS+= USE_CODEC_VORBIS=1
+.else
+MAKE_ARGS+= USE_CODEC_VORBIS=0
.endif
# Mumble
-.if defined(WITH_MUMBLE)
+.if !defined(WITHOUT_MUMBLE)
MAKE_ARGS+= USE_MUMBLE=1
.else
MAKE_ARGS+= USE_MUMBLE=0
.endif
+.else
+# Features that aren't installed without a client
+WITHOUT_DLRENDERER= yes
.endif
# SMP is only built with CLIENT.
-.if defined(WITH_CLIENT) || defined(WITH_SMP)
+.if !defined(WITHOUT_CLIENT) || defined(WITH_SMP)
MAKE_ARGS+= BUILD_CLIENT=1
PLIST_SUB+= CLIENT=""
Q3BIN+= ${Q3CLIENT}
@@ -120,7 +145,7 @@ MAKE_ARGS+= BUILD_CLIENT=0
PLIST_SUB+= CLIENT="@comment "
.endif
-.if defined(WITH_DEDICATED)
+.if !defined(WITHOUT_DEDICATED)
MAKE_ARGS+= BUILD_SERVER=1
PLIST_SUB+= DEDICATED=""
Q3BIN+= ${Q3SERVER}
@@ -146,6 +171,14 @@ MAKE_ARGS+= BUILD_CLIENT_SMP=0
PLIST_SUB+= SMP="@comment "
.endif
+.if !defined(WITHOUT_DLRENDERER)
+PLIST_SUB+= DLRENDERER=""
+MAKE_ARGS+= USE_RENDERER_DLOPEN=1
+.else
+MAKE_ARGS+= USE_RENDERER_DLOPEN=0
+PLIST_SUB+= DLRENDERER="@comment "
+.endif
+
do-install: ${Q3INSTALL}
.for bin in ${Q3BIN}
${INSTALL_PROGRAM} ${BUILDDIR}/${bin}.${ARCH} \
@@ -155,10 +188,16 @@ do-install: ${Q3INSTALL}
${INSTALL_PROGRAM} ${BUILDDIR}/tools/${bin} \
${PREFIX}/bin/${bin}${BINSUFFIX}
.endfor
+.if !defined(WITHOUT_DLRENDERER)
+.for renderer in ${Q3RENDERER}
+ ${MKDIR} ${LIBDIR}
+ ${INSTALL_LIB} ${BUILDDIR}/${renderer}.so ${LIBDIR}
+.endfor
+.endif
.if defined(WITH_GAMELIBS)
.for dir in ${Q3BASE}
${MKDIR} ${LIBDIR}/${dir}
- ${INSTALL_PROGRAM} ${BUILDDIR}/${dir}/*.so ${LIBDIR}/${dir}
+ ${INSTALL_LIB} ${BUILDDIR}/${dir}/*.so ${LIBDIR}/${dir}
.endfor
.endif
.if !defined(NOPORTDOCS)
diff --git a/games/ioquake3/files/patch-Makefile b/games/ioquake3/files/patch-Makefile
index 1c144a0948a..ca1190284c6 100644
--- a/games/ioquake3/files/patch-Makefile
+++ b/games/ioquake3/files/patch-Makefile
@@ -1,6 +1,15 @@
--- Makefile.orig 2009-04-22 20:54:48.000000000 +0200
-+++ Makefile 2009-12-08 11:38:10.000000000 +0100
-@@ -521,15 +521,22 @@
++++ Makefile 2011-11-04 20:42:56.000000000 +0100
+@@ -187,6 +187,8 @@
+ # FIXME: introduce CLIENT_CFLAGS
+ SDL_CFLAGS=$(shell pkg-config --cflags sdl|sed 's/-Dmain=SDL_main//')
+ SDL_LIBS=$(shell pkg-config --libs sdl)
++ VORBIS_CFLAGS=$(shell pkg-config --silence-errors --cflags vorbis vorbisfile)
++ VORBIS_LIBS=$(shell pkg-config --silence-errors --libs vorbis vorbisfile)
+ endif
+
+ # version info
+@@ -521,44 +523,25 @@
ifeq ($(PLATFORM),freebsd)
@@ -13,29 +22,18 @@
-
- BASE_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes \
- -DUSE_ICON $(shell sdl-config --cflags)
-+ ifndef HOMEPATH
-+ HOMEPATH = /.ioquake3
-+ endif
-+
-+ ifndef DEFAULT_LIBDIR
-+ DEFAULT_LIBDIR = /usr/local/lib/ioquake3
-+ endif
-+
-+ BASE_CFLAGS = $(shell env MACHINE_ARCH=$(ARCH) make -f /dev/null -VCFLAGS) \
-+ -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes \
-+ -DUSE_ICON -DMAP_ANONYMOUS=MAP_ANON \
-+ -DHOMEPATH=\\\"$(HOMEPATH)\\\" \
-+ -DDEFAULT_LIBDIR=\\\"$(DEFAULT_LIBDIR)\\\"
-+ CLIENT_CFLAGS = $(SDL_CFLAGS)
-+ SERVER_CFLAGS =
-+ HAVE_VM_COMPILED = true
-
- ifeq ($(USE_OPENAL),1)
- BASE_CFLAGS += -DUSE_OPENAL
-@@ -542,24 +549,6 @@
- BASE_CFLAGS += -DUSE_CODEC_VORBIS
- endif
-
+-
+- ifeq ($(USE_OPENAL),1)
+- BASE_CFLAGS += -DUSE_OPENAL
+- ifeq ($(USE_OPENAL_DLOPEN),1)
+- BASE_CFLAGS += -DUSE_OPENAL_DLOPEN
+- endif
+- endif
+-
+- ifeq ($(USE_CODEC_VORBIS),1)
+- BASE_CFLAGS += -DUSE_CODEC_VORBIS
+- endif
+-
- ifeq ($(ARCH),axp)
- BASE_CFLAGS += -DNO_VM_COMPILED
- RELEASE_CFLAGS=$(BASE_CFLAGS) -DNDEBUG -O3 -ffast-math -funroll-loops \
@@ -51,16 +49,71 @@
- BASE_CFLAGS += -DNO_VM_COMPILED
- endif
- endif
--
++ ifndef HOMEPATH
++ HOMEPATH = /.ioquake3
++ endif
++
++ ifndef DEFAULT_LIBDIR
++ DEFAULT_LIBDIR = /usr/local/lib/ioquake3
++ endif
++
++ # flags
++ BASE_CFLAGS = $(shell env MACHINE_ARCH=$(ARCH) make -f /dev/null -VCFLAGS) \
++ -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes \
++ -DHOMEPATH=\\\"$(HOMEPATH)\\\" \
++ -DDEFAULT_LIBDIR=\\\"$(DEFAULT_LIBDIR)\\\" \
++ -DUSE_ICON -DMAP_ANONYMOUS=MAP_ANON
++ CLIENT_CFLAGS += $(SDL_CFLAGS)
++ HAVE_VM_COMPILED = true
+
- DEBUG_CFLAGS=$(BASE_CFLAGS) -g
--
++ OPTIMIZEVM = -O3 -funroll-loops -fomit-frame-pointer
++ OPTIMIZE = $(OPTIMIZEVM) -ffast-math
+
SHLIBEXT=so
SHLIBCFLAGS=-fPIC
- SHLIBLDFLAGS=-shared $(LDFLAGS)
-@@ -582,6 +571,27 @@
- CLIENT_LIBS += -lvorbisfile -lvorbis -logg
+@@ -568,20 +551,52 @@
+ # don't need -ldl (FreeBSD)
+ LIBS=-lm
+
+- CLIENT_LIBS =
+-
+- CLIENT_LIBS += $(shell sdl-config --libs) -lGL
++ CLIENT_LIBS = $(SDL_LIBS) -lGL
+
++ # optional features/libraries
+ ifeq ($(USE_OPENAL),1)
+- ifneq ($(USE_OPENAL_DLOPEN),1)
+- CLIENT_LIBS += $(THREAD_LIBS) -lopenal
++ CLIENT_LIBS += $(THREAD_LIBS) $(OPENAL_LIBS)
++ CLIENT_CFLAGS += -DUSE_OPENAL
++ ifneq ($(USE_LOCAL_HEADERS),1)
++ CLIENT_CFLAGS += $(OPENAL_CFLAGS)
++ endif
++ endif
++
++ ifeq ($(USE_CURL),1)
++ CLIENT_LIBS += $(CURL_LIBS)
++ CLIENT_CFLAGS += -DUSE_CURL
++ ifneq ($(USE_LOCAL_HEADERS),1)
++ CLIENT_CFLAGS += $(CURL_CFLAGS)
+ endif
endif
+ ifeq ($(USE_CODEC_VORBIS),1)
+- CLIENT_LIBS += -lvorbisfile -lvorbis -logg
++ CLIENT_LIBS += $(VORBIS_LIBS)
++ CLIENT_CFLAGS += -DUSE_CODEC_VORBIS
++ ifneq ($(USE_LOCAL_HEADERS),1)
++ CLIENT_CFLAGS += $(VORBIS_CFLAGS)
++ endif
+ endif
+
++ ifeq ($(BUILD_CLIENT),1)
++ BASE_CFLAGS += $(CLIENT_CFLAGS)
++ endif
++
++ # cross-compiling tweaks
+ ifeq ($(ARCH),i386)
+ ifeq ($(CROSS_COMPILING),1)
+ BASE_CFLAGS += -m32
@@ -72,20 +125,13 @@
+ endif
+ endif
+
-+ ifeq ($(BUILD_CLIENT),1)
-+ BASE_CFLAGS += $(CLIENT_CFLAGS)
-+ endif
-+
-+ RELEASE_CFLAGS = $(BASE_CFLAGS) -DNDEBUG -O3 -fomit-frame-pointer \
-+ -ffast-math -falign-loops=2 -falign-jumps=2 -falign-functions=2 \
-+ -funroll-loops -fstrength-reduce
-+
++ RELEASE_CFLAGS = $(BASE_CFLAGS)
+ DEBUG_CFLAGS = $(BASE_CFLAGS) -g
+
else # ifeq freebsd
#############################################################################
-@@ -1442,6 +1452,9 @@
+@@ -1442,6 +1457,9 @@
ifeq ($(ARCH),x86_64)
Q3OBJ += $(B)/client/vm_x86_64.o $(B)/client/vm_x86_64_assembler.o
endif
@@ -95,7 +141,7 @@
ifeq ($(ARCH),ppc)
Q3OBJ += $(B)/client/vm_powerpc.o $(B)/client/vm_powerpc_asm.o
endif
-@@ -1591,6 +1604,9 @@
+@@ -1591,6 +1609,9 @@
ifeq ($(ARCH),x86_64)
Q3DOBJ += $(B)/ded/vm_x86_64.o $(B)/ded/vm_x86_64_assembler.o
endif
diff --git a/games/ioquake3/files/patch-README b/games/ioquake3/files/patch-README
index ceadc1ac55f..cc92efbf4a5 100644
--- a/games/ioquake3/files/patch-README
+++ b/games/ioquake3/files/patch-README
@@ -1,5 +1,5 @@
---- README.orig 2009-08-30 23:34:03.000000000 +0200
-+++ README 2009-08-31 00:05:03.000000000 +0200
+--- README.orig 2009-04-08 05:36:16.000000000 +0200
++++ README 2011-10-27 13:13:59.000000000 +0200
@@ -79,6 +79,8 @@
CFLAGS - use this for custom CFLAGS
V - set to show cc command line when building
diff --git a/games/ioquake3/files/patch-code-client-cl_curl.h b/games/ioquake3/files/patch-code-client-cl_curl.h
new file mode 100644
index 00000000000..ca97eb61347
--- /dev/null
+++ b/games/ioquake3/files/patch-code-client-cl_curl.h
@@ -0,0 +1,12 @@
+--- code/client/cl_curl.h.orig 2011-11-03 10:16:32.000000000 +0100
++++ code/client/cl_curl.h 2011-11-03 10:16:56.000000000 +0100
+@@ -34,8 +34,7 @@
+ #elif defined(MACOS_X)
+ #define DEFAULT_CURL_LIB "libcurl.dylib"
+ #else
+-#define DEFAULT_CURL_LIB "libcurl.so.4"
+-#define ALTERNATE_CURL_LIB "libcurl.so.3"
++#define DEFAULT_CURL_LIB "libcurl.so"
+ #endif
+
+ #ifdef USE_LOCAL_HEADERS
diff --git a/games/ioquake3/files/patch-code-sys-sys_unix.c b/games/ioquake3/files/patch-code-sys-sys_unix.c
index 278e50d4761..e6b5219879b 100644
--- a/games/ioquake3/files/patch-code-sys-sys_unix.c
+++ b/games/ioquake3/files/patch-code-sys-sys_unix.c
@@ -1,5 +1,5 @@
--- code/sys/sys_unix.c.orig 2008-11-11 00:55:22.000000000 +0100
-+++ code/sys/sys_unix.c 2009-12-08 10:54:22.000000000 +0100
++++ code/sys/sys_unix.c 2011-10-27 13:11:15.000000000 +0200
@@ -53,7 +53,9 @@
if( ( p = getenv( "HOME" ) ) != NULL )
{
diff --git a/games/ioquake3/pkg-plist b/games/ioquake3/pkg-plist
index 35792a4f046..28ba1453d55 100644
--- a/games/ioquake3/pkg-plist
+++ b/games/ioquake3/pkg-plist
@@ -5,6 +5,7 @@ bin/q3asm%%BINSUFFIX%%
bin/q3cpp%%BINSUFFIX%%
bin/q3lcc%%BINSUFFIX%%
bin/q3rcc%%BINSUFFIX%%
+%%DLRENDERER%%%%LIBDIR%%/renderer_opengl1_%%ARCH%%.so
%%GAMELIBS%%%%LIBDIR%%/baseq3/cgame%%ARCH%%.so
%%GAMELIBS%%%%LIBDIR%%/baseq3/qagame%%ARCH%%.so
%%GAMELIBS%%%%LIBDIR%%/baseq3/ui%%ARCH%%.so
@@ -14,5 +15,5 @@ bin/q3rcc%%BINSUFFIX%%
%%PORTDOCS%%%%DOCSDIR%%/README
%%GAMELIBS%%@dirrm %%LIBDIR%%/missionpack
%%GAMELIBS%%@dirrm %%LIBDIR%%/baseq3
-%%GAMELIBS%%@dirrm %%LIBDIR%%
+@dirrmtry %%LIBDIR%%
%%PORTDOCS%%@dirrm %%DOCSDIR%%
diff --git a/games/iourbanterror/Makefile b/games/iourbanterror/Makefile
index e3ba809091d..908fe120102 100644
--- a/games/iourbanterror/Makefile
+++ b/games/iourbanterror/Makefile
@@ -19,6 +19,7 @@ RUN_DEPENDS= ${Q3DIR}/q3ut4:${PORTSDIR}/games/urbanterror-data
PLIST= ${.CURDIR}/pkg-plist
+NO_GAMELIBS= yes
# The docs belong to ioquake3
NOPORTDOCS= yes
GAMEVERSION= 4.1.1
diff --git a/games/iourbanterror/distinfo b/games/iourbanterror/distinfo
index c3a9223a463..168c2eb6d6e 100644
--- a/games/iourbanterror/distinfo
+++ b/games/iourbanterror/distinfo
@@ -1,2 +1,2 @@
-SHA256 (ioquake3-devel-1.36_SVN2064.zip) = 74385a02206b635fbbad20dd62b13a69ead63b6ca3412f4d20f95ae5c512ddce
-SIZE (ioquake3-devel-1.36_SVN2064.zip) = 6066356
+SHA256 (ioquake3-devel-1.36_SVN2194.zip) = 91ef10e29ebc49c4d1faa4265b573e98c3b804b71004111142ee7b55543a54ff
+SIZE (ioquake3-devel-1.36_SVN2194.zip) = 5660634
diff --git a/games/iourbanterror/files/patch-code-qcommon-q_shared.h b/games/iourbanterror/files/patch-code-qcommon-q_shared.h
index 634540e209b..75f9a0ea9d9 100644
--- a/games/iourbanterror/files/patch-code-qcommon-q_shared.h
+++ b/games/iourbanterror/files/patch-code-qcommon-q_shared.h
@@ -1,6 +1,6 @@
---- code/qcommon/q_shared.h.orig 2011-02-09 01:42:54.000000000 +0100
-+++ code/qcommon/q_shared.h 2011-02-19 01:11:38.000000000 +0100
-@@ -27,11 +27,11 @@
+--- code/qcommon/q_shared.h.orig 2011-10-27 02:45:12.000000000 +0200
++++ code/qcommon/q_shared.h 2011-10-27 02:47:17.000000000 +0200
+@@ -27,15 +27,15 @@
// A user mod should never modify this file
#ifdef STANDALONE
@@ -8,12 +8,17 @@
- #define BASEGAME "foobar"
- #define CLIENT_WINDOW_TITLE "changeme"
- #define CLIENT_WINDOW_MIN_TITLE "changeme2"
-- #define GAMENAME_FOR_MASTER "iofoo3" // must NOT contain whitespaces
+ #define PRODUCT_NAME "ioq3+UT"
+ #define BASEGAME "q3ut4"
+ #define CLIENT_WINDOW_TITLE "ioUrbanTerror"
+ #define CLIENT_WINDOW_MIN_TITLE "ioUT"
-+ #define GAMENAME_FOR_MASTER "Quake3Arena" // must NOT contain whitespaces
- #define HEARTBEAT_FOR_MASTER GAMENAME_FOR_MASTER
- #define FLATLINE_FOR_MASTER GAMENAME_FOR_MASTER "dead"
+ #define HOMEPATH_NAME_UNIX HOMEPATH
+ #define HOMEPATH_NAME_WIN "FooBar"
+ #define HOMEPATH_NAME_MACOSX HOMEPATH_NAME_WIN
+- #define GAMENAME_FOR_MASTER "foobar" // must NOT contain whitespace
+-// #define LEGACY_PROTOCOL // You probably don't need this for your standalone game
++ #define GAMENAME_FOR_MASTER "Quake3Arena" // must NOT contain whitespace
++ #define LEGACY_PROTOCOL // You probably don't need this for your standalone game
#else
+ #define PRODUCT_NAME "ioq3"
+ #define BASEGAME "baseq3"
diff --git a/games/iourbanterror/pkg-plist b/games/iourbanterror/pkg-plist
index 00caee056cc..776dd9ce16c 100644
--- a/games/iourbanterror/pkg-plist
+++ b/games/iourbanterror/pkg-plist
@@ -1,8 +1,5 @@
%%DEDICATED%%bin/ioUrTded
%%CLIENT%%bin/ioUrbanTerror
%%SMP%%bin/ioUrbanTerror-smp
-%%GAMELIBS%%%%LIBDIR%%/q3ut4/cgameamd64.so
-%%GAMELIBS%%%%LIBDIR%%/q3ut4/qagameamd64.so
-%%GAMELIBS%%%%LIBDIR%%/q3ut4/uiamd64.so
-%%GAMELIBS%%@dirrm %%LIBDIR%%/q3ut4
-%%GAMELIBS%%@dirrm %%LIBDIR%%
+%%DLRENDERER%%%%LIBDIR%%/renderer_opengl1_%%ARCH%%.so
+%%DLRENDERER%%@dirrm %%LIBDIR%%
diff --git a/games/openarena-oax/Makefile b/games/openarena-oax/Makefile
index bc08fb618b9..28940cad691 100644
--- a/games/openarena-oax/Makefile
+++ b/games/openarena-oax/Makefile
@@ -6,7 +6,7 @@
#
PORTNAME= oax
-PORTVERSION= B48
+PORTVERSION= B50
CATEGORIES= games
MASTER_SITES= http://files.poulsander.com/~poul19/public_files/eliminationSource/
DISTNAME= ${PORTNAME}${PORTVERSION}
diff --git a/games/openarena-oax/distinfo b/games/openarena-oax/distinfo
index a7a72921826..05c6185f44c 100644
--- a/games/openarena-oax/distinfo
+++ b/games/openarena-oax/distinfo
@@ -1,2 +1,2 @@
-SHA256 (oaxB48.zip) = 26564e53625adad46513b3ddc6f906d3c74fe22b3222516a135351928a57602f
-SIZE (oaxB48.zip) = 469333
+SHA256 (oaxB50.zip) = 8c3a8846544acc4498a0bdc2fdbeb2206f9dd003be06498aab62e4573d7d108f
+SIZE (oaxB50.zip) = 472236 \ No newline at end of file
diff --git a/games/openarena/Makefile b/games/openarena/Makefile
index ff351ba0747..2ddae0fdf18 100644
--- a/games/openarena/Makefile
+++ b/games/openarena/Makefile
@@ -8,18 +8,19 @@
PORTNAME= openarena
PORTVERSION= ${GAMEVERSION}.s${SVNREVISION}
DISTVERSION= 1.36_SVN${SVNREVISION}+${GAMEVERSION}
-PORTREVISION= 8
+PORTREVISION= 9
PORTEPOCH= 1
MASTER_SITES= http://files.poulsander.com/~poul19/public_files/oa/dev081/
-DISTNAME= ${PORTNAME}-engine-source-0.8.x-21
+DISTNAME= ${PORTNAME}-engine-source-0.8.x-22
+# Master port defines EXTRACT_SUFX unless already defined
+EXTRACT_SUFX= .tar.bz2
MAINTAINER= kamikaze@bsdforen.de
COMMENT= Quake3 total conversion based on the ioquake3 engine
RUN_DEPENDS= ${DATADIR}/${Q3BASE}/pak0.pk3:${PORTSDIR}/games/openarena-data
-USE_BZIP2= yes
-USE_ZIP= no
+NO_GAMELIBS= yes
# OpenArena doc is too messy to bother
NOPORTDOCS= yes
@@ -34,4 +35,7 @@ Q3DIR= ${DATADIR}
# No icon included with OpenArena
Q3ICON=
+# Dynamically loaded renderer not yet supported
+WITHOUT_DLRENDERER= yes
+
.include "../ioquake3/Makefile"
diff --git a/games/openarena/distinfo b/games/openarena/distinfo
index 4dc0673137d..1daf5d406a7 100644
--- a/games/openarena/distinfo
+++ b/games/openarena/distinfo
@@ -1,2 +1,2 @@
-SHA256 (openarena-engine-source-0.8.x-21.tar.bz2) = 5888436571c053f8ccb4e7832b1a2d7a8742c340e3df66242d0016655fa29067
-SIZE (openarena-engine-source-0.8.x-21.tar.bz2) = 7411462
+SHA256 (openarena-engine-source-0.8.x-22.tar.bz2) = d2a9123b3e35f656de795957afcb64917612e91cfc55157410cceaa6a7939a60
+SIZE (openarena-engine-source-0.8.x-22.tar.bz2) = 7422832
diff --git a/games/openarena/files/patch-Makefile b/games/openarena/files/patch-Makefile
index 4767cfb2e5d..e6844bf5740 100644
--- a/games/openarena/files/patch-Makefile
+++ b/games/openarena/files/patch-Makefile
@@ -1,19 +1,61 @@
---- Makefile.orig 2010-07-02 21:50:49.000000000 +0200
-+++ Makefile 2010-11-27 14:39:09.000000000 +0100
-@@ -561,9 +561,16 @@
+--- Makefile.orig 2011-11-04 21:03:54.000000000 +0100
++++ Makefile 2011-11-04 21:09:54.000000000 +0100
+@@ -205,6 +205,8 @@
+ OPENAL_LIBS=$(shell pkg-config --silence-errors --libs openal)
+ SDL_CFLAGS=$(shell pkg-config --silence-errors --cflags sdl|sed 's/-Dmain=SDL_main//')
+ SDL_LIBS=$(shell pkg-config --silence-errors --libs sdl)
++ VORBIS_CFLAGS=$(shell pkg-config --silence-errors --cflags vorbis vorbisfile)
++ VORBIS_LIBS=$(shell pkg-config --silence-errors --libs vorbis vorbisfile)
+ endif
+ # Use sdl-config if all else fails
+ ifeq ($(SDL_CFLAGS),)
+@@ -569,9 +571,15 @@
ifeq ($(PLATFORM),freebsd)
+ # system integration
+ ifndef DEFAULT_LIBDIR
-+ DEFAULT_LIBDIR = /usr/local/lib/ioquake3
++ DEFAULT_LIBDIR = /usr/local/lib/openarena
+ endif
+
# flags
BASE_CFLAGS = $(shell env MACHINE_ARCH=$(ARCH) make -f /dev/null -VCFLAGS) \
-Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes \
-+ -DHOMEPATH=\\\"$(HOMEPATH)\\\" \
+ -DDEFAULT_LIBDIR=\\\"$(DEFAULT_LIBDIR)\\\" \
-DUSE_ICON -DMAP_ANONYMOUS=MAP_ANON
CLIENT_CFLAGS = $(SDL_CFLAGS)
SERVER_CFLAGS =
+@@ -594,27 +602,24 @@
+
+ # optional features/libraries
+ ifeq ($(USE_OPENAL),1)
+- CLIENT_CFLAGS += -DUSE_OPENAL
++ CLIENT_CFLAGS += -DUSE_OPENAL $(OPENAL_CFLAGS)
++ CLIENT_LIBS += $(THREAD_LIBS) $(OPENAL_LIBS)
+ ifeq ($(USE_OPENAL_DLOPEN),1)
+ CLIENT_CFLAGS += -DUSE_OPENAL_DLOPEN
+- CLIENT_LIBS += $(THREAD_LIBS) -lopenal
+ endif
+ endif
+
+ ifeq ($(USE_CURL),1)
+- CLIENT_CFLAGS += -DUSE_CURL
++ CLIENT_CFLAGS += -DUSE_CURL $(CURL_CFLAGS)
++ CLIENT_LIBS += $(CURL_LIBS)
+ ifeq ($(USE_CURL_DLOPEN),1)
+ CLIENT_CFLAGS += -DUSE_CURL_DLOPEN
+- CLIENT_LIBS += -lcurl
+ endif
+ endif
+
+ ifeq ($(USE_CODEC_VORBIS),1)
+- CLIENT_CFLAGS += -DUSE_CODEC_VORBIS
+- endif
+-
+- ifeq ($(USE_CODEC_VORBIS),1)
+- CLIENT_LIBS += -lvorbisfile -lvorbis -logg
++ CLIENT_CFLAGS += -DUSE_CODEC_VORBIS $(VORBIS_CFLAGS)
++ CLIENT_LIBS += $(VORBIS_LIBS)
+ endif
+
+ # cross-compiling tweaks
diff --git a/games/openarena/pkg-plist b/games/openarena/pkg-plist
index 8a4c880148a..f5e5c6c635b 100644
--- a/games/openarena/pkg-plist
+++ b/games/openarena/pkg-plist
@@ -1,8 +1,3 @@
%%DEDICATED%%bin/oa_ded%%BINSUFFIX%%
%%CLIENT%%bin/openarena%%BINSUFFIX%%
%%SMP%%bin/openarena-smp%%BINSUFFIX%%
-%%GAMELIBS%%%%LIBDIR%%/baseoa/cgame%%ARCH%%.so
-%%GAMELIBS%%%%LIBDIR%%/baseoa/qagame%%ARCH%%.so
-%%GAMELIBS%%%%LIBDIR%%/baseoa/ui%%ARCH%%.so
-%%GAMELIBS%%@dirrm %%LIBDIR%%/baseoa
-%%GAMELIBS%%@dirrm %%LIBDIR%%