ports/115072: New port: games/openarena, a GPLed total conversion of Quake 3

Josh Tolbert hemi at puresimplicity.net
Tue Jul 31 04:20:03 UTC 2007


>Number:         115072
>Category:       ports
>Synopsis:       New port: games/openarena, a GPLed total conversion of Quake 3
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Tue Jul 31 04:20:02 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator:     Josh Tolbert
>Release:        FreeBSD 6.2-RELEASE-p1 i386
>Organization:
>Environment:
>Description:
New port: games/openarena, a total conversion based on the ioquake3 project,
which is derived from the GPLed Quake 3 source from Id Software. This port
conflicts with games/ioquake3.
>How-To-Repeat:
>Fix:


# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	openarena
#	openarena/files
#	openarena/files/extra-patch-code__unix__unix_shared.c
#	openarena/files/patch-Makefile
#	openarena/files/patch-code__botlib__be_interface.c
#	openarena/files/patch-code__qcommon__common.c
#	openarena/files/patch-code__qcommon__q_platform.h
#	openarena/files/patch-code__unix__linux_glimp.c
#	openarena/files/patch-code__unix__unix_main.c
#	openarena/pkg-message
#	openarena/distinfo
#	openarena/Makefile
#	openarena/pkg-descr
#	openarena/pkg-plist
#
echo c - openarena
mkdir -p openarena > /dev/null 2>&1
echo c - openarena/files
mkdir -p openarena/files > /dev/null 2>&1
echo x - openarena/files/extra-patch-code__unix__unix_shared.c
sed 's/^X//' >openarena/files/extra-patch-code__unix__unix_shared.c << 'END-of-openarena/files/extra-patch-code__unix__unix_shared.c'
X--- ./code/unix/unix_shared.c.orig	Fri Nov  4 19:32:00 2005
X+++ ./code/unix/unix_shared.c	Wed Jun  7 16:52:01 2006
X@@ -20,6 +20,7 @@
X ===========================================================================
X */
X #include <sys/types.h>
X+#include <sys/sysctl.h>
X #include <sys/stat.h>
X #include <errno.h>
X #include <stdio.h>
X@@ -430,6 +431,12 @@
X // sysconf() in libc, POSIX.1 compliant
X unsigned int Sys_ProcessorCount(void)
X {
X-  return sysconf(_SC_NPROCESSORS_ONLN);
X+  int mib[2], value, len;
X+
X+  mib[0] = CTL_HW;
X+  mib[1] = HW_NCPU;
X+  len = sizeof(value);
X+  sysctl(mib, 2, &value, &len, NULL, 0);
X+  return (value);
X }
X #endif
END-of-openarena/files/extra-patch-code__unix__unix_shared.c
echo x - openarena/files/patch-Makefile
sed 's/^X//' >openarena/files/patch-Makefile << 'END-of-openarena/files/patch-Makefile'
X--- Makefile.orig	Sat Jul  7 02:50:34 2007
X+++ Makefile	Sun Jul 29 04:30:00 2007
X@@ -26,11 +26,19 @@
X   endif
X endif
X 
X-BUILD_CLIENT     =
X-BUILD_CLIENT_SMP =
X-BUILD_SERVER     =
X-BUILD_GAME_SO    =
X-BUILD_GAME_QVM   =
X+BUILD_CLIENT?=0
X+BUILD_CLIENT_SMP?=0
X+BUILD_GAME_QVM?=0
X+BUILD_GAME_SO?=0
X+BUILD_SERVER?=0
X+HAVE_VM_COMPILED?=false
X+USE_CODEC_VORBIS?=0
X+USE_LOCAL_HEADERS?=0
X+USE_OPENAL?=0
X+USE_OPENAL_DLOPEN?=0
X+USE_OPTIMIZED_CFLAGS?=0
X+USE_SDL_AUDIO?=0
X+USE_SDL_VIDEO?=0
X 
X #############################################################################
X #
X@@ -88,18 +96,6 @@
X endif
X export USE_CCACHE
X 
X-ifndef USE_SDL
X-USE_SDL=1
X-endif
X-
X-ifndef USE_OPENAL
X-USE_OPENAL=1
X-endif
X-
X-ifndef USE_OPENAL_DLOPEN
X-USE_OPENAL_DLOPEN=0
X-endif
X-
X ifndef USE_CURL
X USE_CURL=1
X endif
X@@ -112,18 +108,10 @@
X   endif
X endif
X 
X-ifndef USE_CODEC_VORBIS
X-USE_CODEC_VORBIS=1
X-endif
X-
X-ifndef USE_LOCAL_HEADERS
X-USE_LOCAL_HEADERS=1
X-endif
X-
X #############################################################################
X 
X BD=$(BUILD_DIR)/debug-$(PLATFORM)-$(ARCH)
X-BR=$(BUILD_DIR)/release-$(PLATFORM)-$(ARCH)
X+BR=$(BUILD_DIR)/release
X CDIR=$(MOUNT_DIR)/client
X SDIR=$(MOUNT_DIR)/server
X RDIR=$(MOUNT_DIR)/renderer
X@@ -498,18 +486,12 @@
X 
X ifeq ($(PLATFORM),freebsd)
X 
X-  ifneq (,$(findstring alpha,$(shell uname -m)))
X-    ARCH=axp
X-  else #default to i386
X-    ARCH=i386
X-  endif #alpha test
X-
X+  BASE_CFLAGS = -DARCH='\"$(ARCH)\"' -DLIBDIR='\"$(LIBDIR)\"' -I$(LOCALBASE)/include -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes
X 
X-  BASE_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes
X-
X-  GL_CFLAGS = -I/usr/X11R6/include
X+  GL_CFLAGS = -I$(X11BASE)/include
X 
X   DEBUG_CFLAGS=$(BASE_CFLAGS) -g
X+  RELEASE_CFLAGS=$(BASE_CFLAGS) -DNDEBUG -pipe
X 
X   ifeq ($(USE_OPENAL),1)
X     BASE_CFLAGS += -DUSE_OPENAL=1
X@@ -522,47 +504,61 @@
X     BASE_CFLAGS += -DUSE_CODEC_VORBIS=1
X   endif
X 
X-  ifeq ($(USE_SDL),1)
X-    BASE_CFLAGS += $(shell sdl-config --cflags) -DUSE_SDL_VIDEO=1 -DUSE_SDL_SOUND=1
X+  ifeq ($(USE_SDL_AUDIO),1)
X+    BASE_CFLAGS += $(shell $(SDL_CONFIG) --cflags)
X+  else
X+    ifeq ($(USE_SDL_VIDEO),1)
X+      BASE_CFLAGS += $(shell $(SDL_CONFIG) --cflags)
X+    endif
X   endif
X 
X-  ifeq ($(ARCH),axp)
X-    CC=gcc
X-    BASE_CFLAGS += -DNO_VM_COMPILED
X-    RELEASE_CFLAGS=$(BASE_CFLAGS) -DNDEBUG -O3 -ffast-math -funroll-loops \
X-      -fomit-frame-pointer -fexpensive-optimizations
X-  else
X-  ifeq ($(ARCH),i386)
X-    CC=gcc
X-    RELEASE_CFLAGS=$(BASE_CFLAGS) -DNDEBUG -O3 -mtune=pentiumpro \
X-      -march=pentium -fomit-frame-pointer -pipe -ffast-math \
X-      -falign-loops=2 -falign-jumps=2 -falign-functions=2 \
X-      -funroll-loops -fstrength-reduce
X-    HAVE_VM_COMPILED=true
X-  else
X-    BASE_CFLAGS += -DNO_VM_COMPILED
X+  ifeq ($(USE_SDL_AUDIO),1)
X+    BASE_CFLAGS += -DUSE_SDL_SOUND=1
X   endif
X+
X+  ifeq ($(USE_SDL_VIDEO),1)
X+    BASE_CFLAGS += -DUSE_SDL_VIDEO=1
X+  endif
X+
X+  ifeq ($(USE_OPTIMIZED_CFLAGS),1)
X+    RELEASE_CFLAGS+=-O3 -ffast-math -funroll-loops -fomit-frame-pointer \
X+       -fexpensive-optimizations
X+    ifeq ($(ARCH),i386)
X+      RELEASE_CFLAGS+=-falign-loops=2 -falign-jumps=2 -falign-functions=2 \
X+         -fstrength-reduce
X+    endif
X+  endif
X+
X+  ifneq ($(HAVE_VM_COMPILED),true)
X+    BASE_CFLAGS += -DNO_VM_COMPILED
X   endif
X 
X   SHLIBEXT=so
X   SHLIBCFLAGS=-fPIC
X   SHLIBLDFLAGS=-shared $(LDFLAGS)
X 
X-  THREAD_LDFLAGS=-lpthread
X+  THREAD_LDFLAGS=$(PTHREAD_LIBS)
X   # don't need -ldl (FreeBSD)
X   LDFLAGS=-lm
X 
X-  CLIENT_LDFLAGS =
X+  CLIENT_LDFLAGS = -L$(LOCALBASE)/lib
X 
X-  ifeq ($(USE_SDL),1)
X-    CLIENT_LDFLAGS += $(shell sdl-config --libs)
X+  ifeq ($(USE_SDL_AUDIO),1)
X+    CLIENT_LDFLAGS += $(shell $(SDL_CONFIG) --libs)
X   else
X-    CLIENT_LDFLAGS += -L/usr/X11R6/$(LIB) -lGL -lX11 -lXext -lXxf86dga -lXxf86vm
X+    ifeq ($(USE_SDL_VIDEO),1)
X+      CLIENT_LDFLAGS += $(shell $(SDL_CONFIG) --libs)
X+    endif
X+  endif
X+
X+  ifneq ($(USE_SDL_VIDEO),1)
X+    CLIENT_LDFLAGS += -L$(X11BASE)/lib -lGL -lX11 -lXext -lXxf86dga -lXxf86vm
X   endif
X 
X   ifeq ($(USE_OPENAL),1)
X+    CLIENT_LDFLAGS += $(THREAD_LDFLAGS)
X     ifneq ($(USE_OPENAL_DLOPEN),1)
X-      CLIENT_LDFLAGS += $(THREAD_LDFLAGS) -lopenal
X+      CLIENT_LDFLAGS += -lopenal
X     endif
X   endif
X 
X@@ -570,7 +566,6 @@
X     CLIENT_LDFLAGS += -lvorbisfile -lvorbis -logg
X   endif
X 
X-
X else # ifeq freebsd
X 
X #############################################################################
X@@ -725,24 +720,25 @@
X TARGETS =
X 
X ifneq ($(BUILD_SERVER),0)
X-  TARGETS += $(B)/ioq3ded.$(ARCH)$(BINEXT)
X+  TARGETS += $(B)/ioq3ded$(BINEXT)
X endif
X 
X ifneq ($(BUILD_CLIENT),0)
X-  TARGETS += $(B)/ioquake3.$(ARCH)$(BINEXT)
X-  ifneq ($(BUILD_CLIENT_SMP),0)
X-    TARGETS += $(B)/ioquake3-smp.$(ARCH)$(BINEXT)
X-  endif
X+  TARGETS += $(B)/ioquake3$(BINEXT)
X+endif
X+
X+ifneq ($(BUILD_CLIENT_SMP),0)
X+  TARGETS += $(B)/ioquake3-smp$(BINEXT)
X endif
X 
X ifneq ($(BUILD_GAME_SO),0)
X   TARGETS += \
X-    $(B)/baseq3/cgame$(ARCH).$(SHLIBEXT) \
X-    $(B)/baseq3/qagame$(ARCH).$(SHLIBEXT) \
X-    $(B)/baseq3/ui$(ARCH).$(SHLIBEXT)     \
X-    $(B)/missionpack/cgame$(ARCH).$(SHLIBEXT) \
X-    $(B)/missionpack/qagame$(ARCH).$(SHLIBEXT) \
X-    $(B)/missionpack/ui$(ARCH).$(SHLIBEXT)
X+    $(B)/baseq3/cgame.$(SHLIBEXT) \
X+    $(B)/baseq3/qagame.$(SHLIBEXT) \
X+    $(B)/baseq3/ui.$(SHLIBEXT)     \
X+    $(B)/missionpack/cgame.$(SHLIBEXT) \
X+    $(B)/missionpack/qagame.$(SHLIBEXT) \
X+    $(B)/missionpack/ui.$(SHLIBEXT)
X endif
X 
X ifneq ($(BUILD_GAME_QVM),0)
X@@ -804,11 +800,11 @@
X 	$(MAKE)  targets B=$(BD) CFLAGS="$(CFLAGS) $(DEBUG_CFLAGS) $(DEPEND_CFLAGS)"
X 
X build_release: B=$(BR)
X-build_release: makedirs tools
X+build_release: makedirs
X 	$(MAKE)  targets B=$(BR) CFLAGS="$(CFLAGS) $(RELEASE_CFLAGS) $(DEPEND_CFLAGS)"
X 
X #Build both debug and release builds
X-all:build_debug build_release
X+all:build_release
X 
X targets: $(TARGETS)
X 
X@@ -1022,13 +1018,10 @@
X   ifeq ($(ARCH),i386)
X     Q3OBJ += $(B)/client/vm_x86.o
X   endif
X-  ifeq ($(ARCH),x86)
X-    Q3OBJ += $(B)/client/vm_x86.o
X-  endif
X-  ifeq ($(ARCH),x86_64)
X+  ifeq ($(ARCH),amd64)
X     Q3OBJ += $(B)/client/vm_x86_64.o
X   endif
X-  ifeq ($(ARCH),ppc)
X+  ifeq ($(ARCH),powerpc)
X     Q3OBJ += $(B)/client/$(VM_PPC).o
X   endif
X endif
X@@ -1075,10 +1068,10 @@
X     $(B)/client/sdl_glimp_smp.o
X endif
X 
X-$(B)/ioquake3.$(ARCH)$(BINEXT): $(Q3OBJ) $(Q3POBJ) $(LIBSDLMAIN)
X+$(B)/ioquake3$(BINEXT): $(Q3OBJ) $(Q3POBJ) $(LIBSDLMAIN)
X 	$(CC)  -o $@ $(Q3OBJ) $(Q3POBJ) $(CLIENT_LDFLAGS) $(LDFLAGS) $(LIBSDLMAIN)
X 
X-$(B)/ioquake3-smp.$(ARCH)$(BINEXT): $(Q3OBJ) $(Q3POBJ_SMP) $(LIBSDLMAIN)
X+$(B)/ioquake3-smp$(BINEXT): $(Q3OBJ) $(Q3POBJ_SMP) $(LIBSDLMAIN)
X 	$(CC)  -o $@ $(Q3OBJ) $(Q3POBJ_SMP) $(CLIENT_LDFLAGS) \
X 		$(THREAD_LDFLAGS) $(LDFLAGS) $(LIBSDLMAIN)
X 
X@@ -1378,18 +1371,15 @@
X   ifeq ($(ARCH),i386)
X     Q3DOBJ += $(B)/ded/vm_x86.o
X   endif
X-  ifeq ($(ARCH),x86)
X-    Q3DOBJ += $(B)/ded/vm_x86.o
X-  endif
X-  ifeq ($(ARCH),x86_64)
X+  ifeq ($(ARCH),amd64)
X     Q3DOBJ += $(B)/ded/vm_x86_64.o
X   endif
X-  ifeq ($(ARCH),ppc)
X+  ifeq ($(ARCH),powerpc)
X     Q3DOBJ += $(B)/ded/$(VM_PPC).o
X   endif
X endif
X 
X-$(B)/ioq3ded.$(ARCH)$(BINEXT): $(Q3DOBJ)
X+$(B)/ioq3ded$(BINEXT): $(Q3DOBJ)
X 	$(CC) -o $@ $(Q3DOBJ) $(LDFLAGS)
X 
X $(B)/ded/sv_bot.o : $(SDIR)/sv_bot.c; $(DO_DED_CC)
X@@ -1506,7 +1496,7 @@
X Q3CGOBJ = $(Q3CGOBJ_) $(B)/baseq3/cgame/cg_syscalls.o
X Q3CGVMOBJ = $(Q3CGOBJ_:%.o=%.asm) $(B)/baseq3/game/bg_lib.asm
X 
X-$(B)/baseq3/cgame$(ARCH).$(SHLIBEXT) : $(Q3CGOBJ)
X+$(B)/baseq3/cgame.$(SHLIBEXT) : $(Q3CGOBJ)
X 	$(CC) $(SHLIBLDFLAGS) -o $@ $(Q3CGOBJ)
X 
X $(B)/baseq3/vm/cgame.qvm: $(Q3CGVMOBJ) $(CGDIR)/cg_syscalls.asm
X@@ -1547,7 +1537,7 @@
X MPCGOBJ = $(MPCGOBJ_) $(B)/missionpack/cgame/cg_syscalls.o
X MPCGVMOBJ = $(MPCGOBJ_:%.o=%.asm) $(B)/missionpack/game/bg_lib.asm
X 
X-$(B)/missionpack/cgame$(ARCH).$(SHLIBEXT) : $(MPCGOBJ)
X+$(B)/missionpack/cgame$(SHLIBEXT) : $(MPCGOBJ)
X 	$(CC) $(SHLIBLDFLAGS) -o $@ $(MPCGOBJ)
X 
X $(B)/missionpack/vm/cgame.qvm: $(MPCGVMOBJ) $(CGDIR)/cg_syscalls.asm
X@@ -1597,7 +1587,7 @@
X Q3GOBJ = $(Q3GOBJ_) $(B)/baseq3/game/g_syscalls.o
X Q3GVMOBJ = $(Q3GOBJ_:%.o=%.asm) $(B)/baseq3/game/bg_lib.asm
X 
X-$(B)/baseq3/qagame$(ARCH).$(SHLIBEXT) : $(Q3GOBJ)
X+$(B)/baseq3/qagame.$(SHLIBEXT) : $(Q3GOBJ)
X 	$(CC) $(SHLIBLDFLAGS) -o $@ $(Q3GOBJ)
X 
X $(B)/baseq3/vm/qagame.qvm: $(Q3GVMOBJ) $(GDIR)/g_syscalls.asm
X@@ -1645,7 +1635,7 @@
X MPGOBJ = $(MPGOBJ_) $(B)/missionpack/game/g_syscalls.o
X MPGVMOBJ = $(MPGOBJ_:%.o=%.asm) $(B)/missionpack/game/bg_lib.asm
X 
X-$(B)/missionpack/qagame$(ARCH).$(SHLIBEXT) : $(MPGOBJ)
X+$(B)/missionpack/qagame.$(SHLIBEXT) : $(MPGOBJ)
X 	$(CC) $(SHLIBLDFLAGS) -o $@ $(MPGOBJ)
X 
X $(B)/missionpack/vm/qagame.qvm: $(MPGVMOBJ) $(GDIR)/g_syscalls.asm
X@@ -1705,7 +1695,7 @@
X Q3UIOBJ = $(Q3UIOBJ_) $(B)/missionpack/ui/ui_syscalls.o
X Q3UIVMOBJ = $(Q3UIOBJ_:%.o=%.asm) $(B)/baseq3/game/bg_lib.asm
X 
X-$(B)/baseq3/ui$(ARCH).$(SHLIBEXT) : $(Q3UIOBJ)
X+$(B)/baseq3/ui.$(SHLIBEXT) : $(Q3UIOBJ)
X 	$(CC) $(CFLAGS) $(SHLIBLDFLAGS) -o $@ $(Q3UIOBJ)
X 
X $(B)/baseq3/vm/ui.qvm: $(Q3UIVMOBJ) $(UIDIR)/ui_syscalls.asm
X@@ -1730,7 +1720,7 @@
X MPUIOBJ = $(MPUIOBJ_) $(B)/missionpack/ui/ui_syscalls.o
X MPUIVMOBJ = $(MPUIOBJ_:%.o=%.asm) $(B)/baseq3/game/bg_lib.asm
X 
X-$(B)/missionpack/ui$(ARCH).$(SHLIBEXT) : $(MPUIOBJ)
X+$(B)/missionpack/ui.$(SHLIBEXT) : $(MPUIOBJ)
X 	$(CC) $(CFLAGS) $(SHLIBLDFLAGS) -o $@ $(MPUIOBJ)
X 
X $(B)/missionpack/vm/ui.qvm: $(MPUIVMOBJ) $(UIDIR)/ui_syscalls.asm
END-of-openarena/files/patch-Makefile
echo x - openarena/files/patch-code__botlib__be_interface.c
sed 's/^X//' >openarena/files/patch-code__botlib__be_interface.c << 'END-of-openarena/files/patch-code__botlib__be_interface.c'
X--- ./code/botlib/be_interface.c.orig	Wed Apr 26 10:36:58 2006
X+++ ./code/botlib/be_interface.c	Sun Jun 11 17:26:26 2006
X@@ -155,7 +155,7 @@
X 	} else {
X 		Com_sprintf(logfilename, sizeof(logfilename), "botlib.log");
X 	}
X-	Log_Open(logfilename);
X+	Log_Open("/dev/null");
X 	//
X 	botimport.Print(PRT_MESSAGE, "------- BotLib Initialization -------\n");
X 	//
END-of-openarena/files/patch-code__botlib__be_interface.c
echo x - openarena/files/patch-code__qcommon__common.c
sed 's/^X//' >openarena/files/patch-code__qcommon__common.c << 'END-of-openarena/files/patch-code__qcommon__common.c'
X--- ./code/qcommon/common.c.orig	Wed Apr 26 08:27:12 2006
X+++ ./code/qcommon/common.c	Sun Jun 11 17:26:26 2006
X@@ -25,6 +25,7 @@
X #include "qcommon.h"
X #include <setjmp.h>
X #ifndef _WIN32
X+#include <sys/types.h>
X #include <netinet/in.h>
X #include <sys/stat.h> // umask
X #else
END-of-openarena/files/patch-code__qcommon__common.c
echo x - openarena/files/patch-code__qcommon__q_platform.h
sed 's/^X//' >openarena/files/patch-code__qcommon__q_platform.h << 'END-of-openarena/files/patch-code__qcommon__q_platform.h'
X--- ./code/qcommon/q_platform.h.orig	Tue Dec 27 16:46:01 2005
X+++ ./code/qcommon/q_platform.h	Sun Jun 11 17:26:26 2006
X@@ -176,11 +176,7 @@
X #define ID_INLINE inline
X #define PATH_SEP '/'
X 
X-#ifdef __i386__
X-#define ARCH_STRING "i386"
X-#elif defined __axp__
X-#define ARCH_STRING "alpha"
X-#endif
X+#define ARCH_STRING ARCH
X 
X #if BYTE_ORDER == BIG_ENDIAN
X #define Q3_BIG_ENDIAN
END-of-openarena/files/patch-code__qcommon__q_platform.h
echo x - openarena/files/patch-code__unix__linux_glimp.c
sed 's/^X//' >openarena/files/patch-code__unix__linux_glimp.c << 'END-of-openarena/files/patch-code__unix__linux_glimp.c'
X--- ./code/unix/linux_glimp.c.orig	Sun Apr 30 11:32:56 2006
X+++ ./code/unix/linux_glimp.c	Sun Jun 11 17:26:26 2006
X@@ -631,8 +631,14 @@
X 
X           dx = ((int)event.xmotion.x - mwx);
X           dy = ((int)event.xmotion.y - mwy);
X-					mx += dx;
X-					my += dy;
X+          if (abs(dx) > 1)
X+            mx += dx * 2;
X+          else
X+            mx += dx;
X+          if (abs(dy) > 1)
X+            my += dy * 2;
X+          else
X+            my += dy;
X 
X           mwx = event.xmotion.x;
X           mwy = event.xmotion.y;
END-of-openarena/files/patch-code__unix__linux_glimp.c
echo x - openarena/files/patch-code__unix__unix_main.c
sed 's/^X//' >openarena/files/patch-code__unix__unix_main.c << 'END-of-openarena/files/patch-code__unix__unix_main.c'
X--- ./code/unix/unix_main.c.orig	Sun Feb 26 18:22:12 2006
X+++ ./code/unix/unix_main.c	Sun Jun 11 17:26:26 2006
X@@ -774,6 +774,7 @@
X   char  curpath[MAX_OSPATH];
X   char  fname[MAX_OSPATH];
X   char  *basepath;
X+  char  *libpath;
X   char  *homepath;
X   char  *pwdpath;
X   char  *cdpath;
X@@ -789,14 +790,19 @@
X   // TODO: use fs_searchpaths from files.c
X   pwdpath = Sys_Cwd();
X   basepath = Cvar_VariableString( "fs_basepath" );
X+  libpath = LIBDIR;
X   homepath = Cvar_VariableString( "fs_homepath" );
X   cdpath = Cvar_VariableString( "fs_cdpath" );
X   gamedir = Cvar_VariableString( "fs_game" );
X 
X-  libHandle = try_dlopen(pwdpath, gamedir, fname, fqpath);
X+  if(!libHandle && homepath)
X+    libHandle = try_dlopen(pwdpath, gamedir, fname, fqpath);
X 
X   if(!libHandle && homepath)
X     libHandle = try_dlopen(homepath, gamedir, fname, fqpath);
X+
X+  if(!libHandle && basepath)
X+    libHandle = try_dlopen(libpath, gamedir, fname, fqpath);
X 
X   if(!libHandle && basepath)
X     libHandle = try_dlopen(basepath, gamedir, fname, fqpath);
END-of-openarena/files/patch-code__unix__unix_main.c
echo x - openarena/pkg-message
sed 's/^X//' >openarena/pkg-message << 'END-of-openarena/pkg-message'
X==============================================================================
X
XIf you have sound problems with SDL try setting the variable "s_sdlSpeed" to
X"44100". It will be saved to the configuration file.
X
XIf you have sound problems with OpenAL recompile without it. Also the OPENAL
Xoption causes the program to omit restoring gamma and mouse sensivity after
Xexitting.
X
X==============================================================================
END-of-openarena/pkg-message
echo x - openarena/distinfo
sed 's/^X//' >openarena/distinfo << 'END-of-openarena/distinfo'
XMD5 (ioq3-src-oa.tar.bz2) = a43cd6044de919dd2af94fb4159ddb47
XSHA256 (ioq3-src-oa.tar.bz2) = b51a890a525e9a7c49fe9fe3808ec6bba0738014d008078bbd28244934d145b9
XSIZE (ioq3-src-oa.tar.bz2) = 3539582
END-of-openarena/distinfo
echo x - openarena/Makefile
sed 's/^X//' >openarena/Makefile << 'END-of-openarena/Makefile'
XPORTNAME=	openarena
XDISTVERSION=	0.7.0
XCATEGORIES=	games
XMASTER_SITES=	http://openarena.ws/rel/070/
XDISTNAME=	ioq3-src-oa
X
XMAINTAINER=	hemi at puresimplicity.net
XCOMMENT=	GPL-licensed total conversion of Quake 3
X
XUSE_BZIP2=	yes
XUSE_GCC=	3.4+
XUSE_GMAKE=	yes
X
XCONFLICTS=	ioquake3-*
XNO_WRKSUBDIR=	yes
X
X# Hacks pulled in from games/quake3-data/Makefile.include
X
XOADIR=		${LOCALBASE}/share/openarena/
XMAKE_ENV+=	OADIR="${OADIR}"
XPLIST_SUB+=	OADIR="${OADIR:S/${LOCALBASE}\///}"
XSUB_LIST+=	OADIR="${OADIR}"
X
X# Vorbis is required for oa, but not for ioquake3.
XLIB_DEPENDS+=	vorbis.4:${PORTSDIR}/audio/libvorbis
X
X# We need the openarena-data port to run.
XRUN_DEPENDS+=	${LOCALBASE}/share/openarena/baseoa/pak0.pk3:${PORTSDIR}/games/openarena-data
X
XOPTIONS=	CLIENT "Build client" on \
X		DEDICATED "Build dedicated server" on \
X		OPENAL "Enable OpenAL (3D sound) support" off \
X		OPENAL_DLOPEN "Enable dynamic loading of OpenAL" off \
X		OPTIMIZED_CFLAGS "Enable compilation optimizations" on \
X		SDL_AUDIO "Use SDL for audio" off \
X		SDL_VIDEO "Use SDL for video" off \
X		SMP "Build SMP (threaded) client" on \
X
XMAKE_ENV+=	DEFAULT_BASEDIR="${OADIR}" LIBDIR="${LIBDIR}" \
X		PTHREAD_LIBS="${PTHREAD_LIBS}" USE_CODEC_VORBIS=1
XPLIST_SUB=	LIBDIR="${LIBDIR:S/${PREFIX}\///}"
X
XLIBDIR=		${PREFIX}/lib/${PORTNAME}
XVM_ARCHS=	amd64 i386 powerpc
X
X.include <bsd.port.pre.mk>
X
X.if ${OSVERSION} < 500000
XEXTRA_PATCHES+=	${FILESDIR}/extra-patch-code__unix__unix_shared.c
X.endif
X
X.if defined(WITHOUT_CLIENT) && defined(WITHOUT_DEDICATED) && \
X    defined(WITHOUT_SMP)
XIGNORE=		needs at least one of CLIENT, DEDICATED and SMP options
X.endif
X
X.for i in ${ARCH}
X.   if ${VM_ARCHS:M${i}} != ""
XHAVE_VM_COMPILED=	yes
X.   endif
X.endfor
X
X.if defined(HAVE_VM_COMPILED)
XMAKE_ENV+=	HAVE_VM_COMPILED=true
X.endif
X
X.if !defined(WITHOUT_CLIENT) || !defined(WITHOUT_SMP)
X# OpenAL
X.   if defined(WITH_OPENAL)
XLIB_DEPENDS+=	openal.0:${PORTSDIR}/audio/openal
XMAKE_ENV+=	USE_OPENAL=1
X.       if defined(WITH_OPENAL_DLOPEN)
XMAKE_ENV+=	USE_OPENAL_DLOPEN=1
X.       endif
X.   endif
X# SDL
X.   if defined(WITH_SDL_AUDIO)
XUSE_SDL=	sdl
XMAKE_ENV+=	USE_SDL_AUDIO=1
X.   endif
X.   if defined(WITH_SDL_VIDEO)
XUSE_SDL=	sdl
XMAKE_ENV+=	USE_SDL_VIDEO=1
X.   else
XUSE_GL=		yes
X.   endif
X.endif
X
X.if !defined(WITHOUT_CLIENT)
XMAKE_ENV+=	BUILD_CLIENT=1
XPLIST_SUB+=	CLIENT=""
XOABIN+=		ioquake3
X.else
XPLIST_SUB+=	CLIENT="@comment "
X.endif
X
X.if !defined(WITHOUT_DEDICATED)
XMAKE_ENV+=	BUILD_SERVER=1
XPLIST_SUB+=	DEDICATED=""
XOABIN+=		ioq3ded
X.else
XPLIST_SUB+=	DEDICATED="@comment "
X.endif
X
X.if defined(WITH_GAMELIBS) || !defined(HAVE_VM_COMPILED)
XMAKE_ENV+=      BUILD_GAME_SO=1
XPLIST_SUB+=     GAMELIBS=""
X.else
XPLIST_SUB+=     GAMELIBS="@comment "
X.endif
X
X
X.if !defined(WITHOUT_OPTIMIZED_CFLAGS)
XMAKE_ENV+=	USE_OPTIMIZED_CFLAGS=1
X.endif
X
X.if !defined(WITHOUT_SMP)
XMAKE_ENV+=	BUILD_CLIENT_SMP=1
XPLIST_SUB+=	SMP=""
XOABIN+=		ioquake3-smp
X.else
XPLIST_SUB+=	SMP="@comment "
X.endif
X
X.if ${OSVERSION} < 500000
Xpost-patch:
X	@${REINPLACE_CMD} -e 's|stdint\.h|inttypes.h|' \
X		${BUILD_WRKSRC}/code/qcommon/q_shared.h
X.endif
X
Xdo-install:
X.for bin in ${OABIN}
X	${INSTALL_PROGRAM} ${WRKSRC}/build/release/${bin} ${PREFIX}/bin
X.endfor
X.if defined(WITH_GAMELIBS) || !defined(HAVE_VM_COMPILED)
X.for dir in baseq3 missionpack
X	${MKDIR} ${LIBDIR}/${dir}
X	${INSTALL_PROGRAM} ${WRKSRC}/build/release/${dir}/*.so ${LIBDIR}/${dir}
X.endfor
X.endif
X
Xpost-install:
X	@${ECHO_CMD}
X	@${CAT} ${PKGMESSAGE}
X	@${ECHO_CMD}
X
X.include <bsd.port.post.mk>
END-of-openarena/Makefile
echo x - openarena/pkg-descr
sed 's/^X//' >openarena/pkg-descr << 'END-of-openarena/pkg-descr'
XOpenArena is an open-source content package for Quake III Arena
Xlicensed under the GPL, effectively creating a free stand-alone
Xgame. You do not need Quake III Arena to play this game.
X
XBots were added starting in 0.6.0. They will spout taunts and
Xeverything!
X
XConcepts would be loose, so don't expect a remake of Klesk in
Xhis original Klesk form, or any direct remakes of any
Xmap/weapon/model. 
X
XWWW: http://openarena.ws
END-of-openarena/pkg-descr
echo x - openarena/pkg-plist
sed 's/^X//' >openarena/pkg-plist << 'END-of-openarena/pkg-plist'
X%%DEDICATED%%bin/ioq3ded
X%%CLIENT%%bin/ioquake3
X%%SMP%%bin/ioquake3-smp
X%%GAMELIBS%%%%LIBDIR%%/baseoa/cgame.so
X%%GAMELIBS%%%%LIBDIR%%/baseoa/qagame.so
X%%GAMELIBS%%%%LIBDIR%%/baseoa/ui.so
X%%GAMELIBS%%%%LIBDIR%%/missionpack/cgame.so
X%%GAMELIBS%%%%LIBDIR%%/missionpack/qagame.so
X%%GAMELIBS%%%%LIBDIR%%/missionpack/ui.so
X%%GAMELIBS%%@dirrm %%LIBDIR%%/missionpack
X%%GAMELIBS%%@dirrm %%LIBDIR%%/baseoa
X%%GAMELIBS%%@dirrm %%LIBDIR%%
END-of-openarena/pkg-plist
exit

>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list