aboutsummaryrefslogtreecommitdiff
path: root/games/quake3
diff options
context:
space:
mode:
authorEdwin Groothuis <edwin@FreeBSD.org>2005-11-17 10:35:03 +0000
committerEdwin Groothuis <edwin@FreeBSD.org>2005-11-17 10:35:03 +0000
commitcf1bd0756de183eca0f1d6baaa437a31a62f3f1b (patch)
tree1f544e0954ac0e03c8406f2c4ee861ba4b278400 /games/quake3
parentda8f0fc9ccea394bdde07b4d20f69f18cb6949b8 (diff)
downloadports-cf1bd0756de183eca0f1d6baaa437a31a62f3f1b.tar.gz
ports-cf1bd0756de183eca0f1d6baaa437a31a62f3f1b.zip
New port: games/quake3 Quake III Arena -- first person shooter (native
Quake III Arena, developed by the gaming wizards at id Software, is the third installment of one of the most popular computer game franchises of all time. Organic caverns, gothic cathedrals and futuristic spacescapes play host to Quake III Arena's unrivaled blend of action, strategy and jaw-dropping technology as Linux gamers are invited to square off against 32 of history's greatest warriors. Built around a revolutionary new graphics engine capable of delivering mind blowing 3D special effects including curved surfaces and volumetric fog, Quake III Arena is the final word in deathmatching mayhem. This is a native build for FreeBSD. Sorry, no joystick support is available at this time. PR: ports/85429 Submitted by: Linas Valiukas <shirshegsm@gmail.com>
Notes
Notes: svn path=/head/; revision=148568
Diffstat (limited to 'games/quake3')
-rw-r--r--games/quake3/Makefile66
-rw-r--r--games/quake3/distinfo3
-rw-r--r--games/quake3/files/patch-code-Construct58
-rw-r--r--games/quake3/files/patch-code-botlib-linux-i386.mak12
-rw-r--r--games/quake3/files/patch-code-bspc-Conscript12
-rw-r--r--games/quake3/files/patch-code-bspc-Makefile12
-rw-r--r--games/quake3/files/patch-code-bspc-linux-i386.mak12
-rw-r--r--games/quake3/files/patch-code-cgame-Conscript12
-rw-r--r--games/quake3/files/patch-code-game-Conscript12
-rw-r--r--games/quake3/files/patch-code-game-q_shared.h17
-rw-r--r--games/quake3/files/patch-code-q3_ui-Conscript12
-rw-r--r--games/quake3/files/patch-code-qcommon-common.c19
-rw-r--r--games/quake3/files/patch-code-ui-Conscript12
-rw-r--r--games/quake3/files/patch-code-unix-Conscript-client20
-rw-r--r--games/quake3/files/patch-code-unix-Conscript-dedicated12
-rw-r--r--games/quake3/files/patch-code-unix-Makefile99
-rw-r--r--games/quake3/files/patch-code-unix-cons21
-rw-r--r--games/quake3/files/patch-code-unix-linux_common.c18
-rw-r--r--games/quake3/files/patch-code-unix-linux_glimp.c11
-rw-r--r--games/quake3/files/patch-code-unix-unix_shared.c45
-rw-r--r--games/quake3/files/patch-lcc-custom.mk6
-rw-r--r--games/quake3/files/patch-lcc-makefile12
-rw-r--r--games/quake3/pkg-descr18
-rw-r--r--games/quake3/pkg-message7
-rw-r--r--games/quake3/pkg-plist19
25 files changed, 547 insertions, 0 deletions
diff --git a/games/quake3/Makefile b/games/quake3/Makefile
new file mode 100644
index 000000000000..2f6a87f57851
--- /dev/null
+++ b/games/quake3/Makefile
@@ -0,0 +1,66 @@
+# New ports collection makefile for: quake3
+# Date created: 23 August 2005
+# Whom: pypt
+#
+# $FreeBSD$
+#
+
+PORTNAME= quake3
+PORTVERSION= 1.32b
+CATEGORIES= games
+MASTER_SITES= ftp://ftp.idsoftware.com/idstuff/source/
+EXTRACT_SUFX= -source.zip
+EXTRACT_ONLY=
+
+MAINTAINER= shirshegsm@gmail.com
+COMMENT= Quake III Arena -- first person shooter (native build)
+
+EXTRACT_DEPENDS= unzip:${PORTSDIR}/archivers/unzip
+BUILD_DEPENDS= nasm:${PORTSDIR}/devel/nasm
+
+USE_GMAKE= yes
+USE_PERL5_BUILD= yes
+USE_GL= yes
+USE_REINPLACE= yes
+CONFLICTS= q3server-1.32*
+
+# We need that -a flag
+do-extract:
+ ${MKDIR} ${WRKDIR} && \
+ cd ${WRKDIR} && \
+ ${UNZIP_CMD} -aqx ${DISTDIR}/${PORTNAME}-${PORTVERSION}-source.zip
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|##PREFIX##|${PREFIX}|g' ${WRKSRC}/code/unix/unix_shared.c
+
+pre-build:
+ ${MKDIR} ${WRKSRC}/lcc/build
+
+do-build:
+ cd ${WRKSRC}/code && \
+ ${PERL} unix/cons
+ ${MV} ${WRKSRC}/code/install/linuxq3ded ${WRKSRC}/code/install/q3ded
+ ${MV} ${WRKSRC}/code/install/linuxquake3 ${WRKSRC}/code/install/quake3
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/code/install/q3ded ${PREFIX}/bin
+ ${INSTALL_PROGRAM} ${WRKSRC}/code/install/quake3 ${PREFIX}/bin
+ ${MKDIR} ${PREFIX}/lib/quake3/baseq3/vm
+ ${CP} ${WRKSRC}/code/install/baseq3/cgamei386.so ${PREFIX}/lib/quake3/baseq3
+ ${CP} ${WRKSRC}/code/install/baseq3/qagamei386.so ${PREFIX}/lib/quake3/baseq3
+ ${CP} ${WRKSRC}/code/install/baseq3/uii386.so ${PREFIX}/lib/quake3/baseq3
+ ${CP} ${WRKSRC}/code/install/baseq3/vm/cgame.qvm ${PREFIX}/lib/quake3/baseq3/vm
+ ${CP} ${WRKSRC}/code/install/baseq3/vm/qagame.qvm ${PREFIX}/lib/quake3/baseq3/vm
+ ${CP} ${WRKSRC}/code/install/baseq3/vm/ui.qvm ${PREFIX}/lib/quake3/baseq3/vm
+ ${MKDIR} ${PREFIX}/lib/quake3/missionpack/vm
+ ${CP} ${WRKSRC}/code/install/missionpack/cgamei386.so ${PREFIX}/lib/quake3/missionpack
+ ${CP} ${WRKSRC}/code/install/missionpack/qagamei386.so ${PREFIX}/lib/quake3/missionpack
+ ${CP} ${WRKSRC}/code/install/missionpack/uii386.so ${PREFIX}/lib/quake3/missionpack
+ ${CP} ${WRKSRC}/code/install/missionpack/vm/cgame.qvm ${PREFIX}/lib/quake3/missionpack/vm
+ ${CP} ${WRKSRC}/code/install/missionpack/vm/qagame.qvm ${PREFIX}/lib/quake3/missionpack/vm
+ ${CP} ${WRKSRC}/code/install/missionpack/vm/ui.qvm ${PREFIX}/lib/quake3/missionpack/vm
+
+post-install:
+ ${CAT} pkg-message
+
+.include <bsd.port.mk>
diff --git a/games/quake3/distinfo b/games/quake3/distinfo
new file mode 100644
index 000000000000..c786a5cf29df
--- /dev/null
+++ b/games/quake3/distinfo
@@ -0,0 +1,3 @@
+MD5 (quake3-1.32b-source.zip) = af8aaac46cc82035e1cba632b1a16e03
+SHA256 (quake3-1.32b-source.zip) = 74d42070eea4c7ce47955d831327e70f480c493172b485bf7dd1a58838e92fab
+SIZE (quake3-1.32b-source.zip) = 5724791
diff --git a/games/quake3/files/patch-code-Construct b/games/quake3/files/patch-code-Construct
new file mode 100644
index 000000000000..21b6c1d5ab76
--- /dev/null
+++ b/games/quake3/files/patch-code-Construct
@@ -0,0 +1,58 @@
+--- code/Construct Mon Aug 15 23:56:27 2005
++++ ../../work/quake3-1.32b/code/Construct Sun Aug 28 23:13:56 2005
+@@ -19,8 +19,8 @@
+ use Cons_gcc;
+
+ # defaults
+-$config = 'debug';
+-$do_smp = 1;
++$config = 'release';
++$do_smp = 0;
+ $do_masterserver = 0;
+ $do_authserver = 0;
+ $do_authport = 0;
+@@ -63,9 +63,9 @@
+ else
+ {
+ # libc .. do the little magic!
+- $libc_cmd = '/lib/libc.so.6 |grep "GNU C "|grep version|awk -F "version " \'{ print $2 }\'|cut -b -3';
+- $libc = `$libc_cmd`;
+- chop ($libc);
++ # $libc_cmd = '/lib/libc.so.6 |grep "GNU C "|grep version|awk -F "version " \'{ print $2 }\'|cut -b -3';
++ # $libc = `$libc_cmd`;
++ # chop ($libc);
+ }
+
+ if ($DO_WIN32 eq 1)
+@@ -227,7 +227,7 @@
+ # build the config directory
+ $CONFIG_DIR = $config . '-' . $cpu . '-' . $OS . '-' . $libc;
+
+-$COMMON_CFLAGS = '-pipe -fsigned-char ';
++$COMMON_CFLAGS = '-pipe -fsigned-char -I/usr/local/include -L/usr/local/lib -I/usr/X11R6/include -L/usr/X11R6/lib ';
+
+ if ($config eq 'debug')
+ {
+@@ -237,7 +237,7 @@
+ }
+ else
+ {
+- $BASE_CFLAGS = $COMMON_CFLAGS . '-DNDEBUG -O6 -mcpu=pentiumpro -march=pentium -fomit-frame-pointer -ffast-math -malign-loops=2 -malign-jumps=2 -malign-functions=2 -fno-strict-aliasing -fstrength-reduce ';
++ $BASE_CFLAGS = $COMMON_CFLAGS . '-DNDEBUG -O6 -march=pentiumpro -march=pentium -fomit-frame-pointer -ffast-math -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fno-strict-aliasing -fstrength-reduce ';
+ $BSPC_BASE_CFLAGS = $BASE_CFLAGS . '-DLINUX -DBSPC -Dstricmp=strcasecmp ';
+ }
+
+@@ -287,11 +287,11 @@
+ system("mkdir qvmtools 2>/dev/null");
+ if (@_[0] eq 'q3lcc')
+ {
+- system("cd ../lcc ; make all ; cp /tmp/lcc ../code/qvmtools/q3lcc ; cp /tmp/rcc ../code/qvmtools/q3rcc ; cp /tmp/cpp ../code/qvmtools/q3cpp");
++ system("cd ../lcc ; gmake all ; cp ../lcc/build/lcc ../code/qvmtools/q3lcc ; cp ../lcc/build/rcc ../code/qvmtools/q3rcc ; cp ../lcc/build/cpp ../code/qvmtools/q3cpp");
+ }
+ elsif (@_[0] eq 'q3asm')
+ {
+- system("cd ../q3asm ; make ; cp q3asm ../code/qvmtools");
++ system("cd ../q3asm ; gmake ; cp q3asm ../code/qvmtools");
+ }
+ else
+ {
diff --git a/games/quake3/files/patch-code-botlib-linux-i386.mak b/games/quake3/files/patch-code-botlib-linux-i386.mak
new file mode 100644
index 000000000000..2fadee73c19a
--- /dev/null
+++ b/games/quake3/files/patch-code-botlib-linux-i386.mak
@@ -0,0 +1,12 @@
+diff -ruN ./code/botlib/linux-i386.mak ../quake3-1.32b-BUILT/./code/botlib/linux-i386.mak
+--- ./code/botlib/linux-i386.mak Wed May 23 15:07:59 2001
++++ ../quake3-1.32b-BUILT/./code/botlib/linux-i386.mak Mon Aug 22 20:55:02 2005
+@@ -14,7 +14,7 @@
+ #use these when debugging
+ #CFLAGS=$(BASE_CFLAGS) -g
+
+-LDFLAGS=-ldl -lm
++LDFLAGS=-lm
+ SHLIBEXT=so
+ SHLIBCFLAGS=-fPIC
+ SHLIBLDFLAGS=-shared
diff --git a/games/quake3/files/patch-code-bspc-Conscript b/games/quake3/files/patch-code-bspc-Conscript
new file mode 100644
index 000000000000..08ed1797e7c2
--- /dev/null
+++ b/games/quake3/files/patch-code-bspc-Conscript
@@ -0,0 +1,12 @@
+diff -ruN ./code/bspc/Conscript ../quake3-1.32b-BUILT/./code/bspc/Conscript
+--- ./code/bspc/Conscript Tue Aug 16 01:47:07 2005
++++ ../quake3-1.32b-BUILT/./code/bspc/Conscript Mon Aug 22 20:54:27 2005
+@@ -67,7 +67,7 @@
+ CXX => $CXX,
+ LINK => $LINK,
+ CFLAGS => $BSPC_BASE_CFLAGS,
+- LIBS => '-ldl -lm -lpthread'
++ LIBS => '-lm -lpthread'
+ );
+
+ Program $env 'bspc', @$BSPC_REF;
diff --git a/games/quake3/files/patch-code-bspc-Makefile b/games/quake3/files/patch-code-bspc-Makefile
new file mode 100644
index 000000000000..d8a00e38bfd4
--- /dev/null
+++ b/games/quake3/files/patch-code-bspc-Makefile
@@ -0,0 +1,12 @@
+diff -ruN ./code/bspc/Makefile ../quake3-1.32b-BUILT/./code/bspc/Makefile
+--- ./code/bspc/Makefile Wed May 23 15:07:59 2001
++++ ../quake3-1.32b-BUILT/./code/bspc/Makefile Mon Aug 22 20:54:39 2005
+@@ -18,7 +18,7 @@
+ #use these when debugging
+ #CFLAGS=$(BASE_CFLAGS) -g
+
+-LDFLAGS=-ldl -lm -lpthread
++LDFLAGS=-lm -lpthread
+
+ DO_CC=$(CC) $(CFLAGS) -o $@ -c $<
+
diff --git a/games/quake3/files/patch-code-bspc-linux-i386.mak b/games/quake3/files/patch-code-bspc-linux-i386.mak
new file mode 100644
index 000000000000..d8be0355f149
--- /dev/null
+++ b/games/quake3/files/patch-code-bspc-linux-i386.mak
@@ -0,0 +1,12 @@
+diff -ruN ./code/bspc/linux-i386.mak ../quake3-1.32b-BUILT/./code/bspc/linux-i386.mak
+--- ./code/bspc/linux-i386.mak Wed May 23 15:07:59 2001
++++ ../quake3-1.32b-BUILT/./code/bspc/linux-i386.mak Mon Aug 22 20:54:48 2005
+@@ -14,7 +14,7 @@
+ #use these when debugging
+ #CFLAGS=$(BASE_CFLAGS) -g
+
+-LDFLAGS=-ldl -lm -lpthread
++LDFLAGS=-lm -lpthread
+
+ DO_CC=$(CC) $(CFLAGS) -o $@ -c $<
+
diff --git a/games/quake3/files/patch-code-cgame-Conscript b/games/quake3/files/patch-code-cgame-Conscript
new file mode 100644
index 000000000000..8e19ef9e567c
--- /dev/null
+++ b/games/quake3/files/patch-code-cgame-Conscript
@@ -0,0 +1,12 @@
+diff -ruN ./code/cgame/Conscript ../quake3-1.32b-BUILT/./code/cgame/Conscript
+--- ./code/cgame/Conscript Sun Jan 19 18:03:48 2003
++++ ../quake3-1.32b-BUILT/./code/cgame/Conscript Mon Aug 22 20:54:15 2005
+@@ -22,7 +22,7 @@
+ LINK => $LINK,
+ ENV => { PATH => $ENV{PATH}, HOME => $ENV{HOME} },
+ CFLAGS => $BASE_CFLAGS . '-fPIC',
+- LDFLAGS => '-shared -ldl -lm'
++ LDFLAGS => '-shared -lm'
+ );
+
+ # for TA, use -DMISSIONPACK
diff --git a/games/quake3/files/patch-code-game-Conscript b/games/quake3/files/patch-code-game-Conscript
new file mode 100644
index 000000000000..d6ae11d79bea
--- /dev/null
+++ b/games/quake3/files/patch-code-game-Conscript
@@ -0,0 +1,12 @@
+diff -ruN ./code/game/Conscript ../quake3-1.32b-BUILT/./code/game/Conscript
+--- ./code/game/Conscript Sun Jan 19 18:03:48 2003
++++ ../quake3-1.32b-BUILT/./code/game/Conscript Mon Aug 22 20:54:04 2005
+@@ -21,7 +21,7 @@
+ LINK => $LINK,
+ ENV => { PATH => $ENV{PATH}, HOME => $ENV{HOME} },
+ CFLAGS => $BASE_CFLAGS . '-fPIC',
+- LDFLAGS => '-shared -ldl -lm'
++ LDFLAGS => '-shared -lm'
+ );
+
+ # for TA, use -DMISSIONPACK
diff --git a/games/quake3/files/patch-code-game-q_shared.h b/games/quake3/files/patch-code-game-q_shared.h
new file mode 100644
index 000000000000..d628bf7b5a3c
--- /dev/null
+++ b/games/quake3/files/patch-code-game-q_shared.h
@@ -0,0 +1,17 @@
+diff -ruN ./code/game/q_shared.h ../quake3-1.32b-BUILT/./code/game/q_shared.h
+--- ./code/game/q_shared.h Tue Aug 16 02:10:07 2005
++++ ../quake3-1.32b-BUILT/./code/game/q_shared.h Tue Aug 23 14:16:34 2005
+@@ -452,13 +452,9 @@
+ void *Hunk_Alloc( int size, ha_pref preference );
+ #endif
+
+-#ifdef __linux__
+ // https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=371
+ // custom Snd_Memset implementation for glibc memset bug workaround
+ void Snd_Memset (void* dest, const int val, const size_t count);
+-#else
+-#define Snd_Memset Com_Memset
+-#endif
+
+ #if !( defined __VECTORC )
+ void Com_Memset (void* dest, const int val, const size_t count);
diff --git a/games/quake3/files/patch-code-q3_ui-Conscript b/games/quake3/files/patch-code-q3_ui-Conscript
new file mode 100644
index 000000000000..bbddde9f2ca5
--- /dev/null
+++ b/games/quake3/files/patch-code-q3_ui-Conscript
@@ -0,0 +1,12 @@
+diff -ruN ./code/q3_ui/Conscript ../quake3-1.32b-BUILT/./code/q3_ui/Conscript
+--- ./code/q3_ui/Conscript Sun Jan 19 18:03:48 2003
++++ ../quake3-1.32b-BUILT/./code/q3_ui/Conscript Mon Aug 22 20:56:57 2005
+@@ -16,7 +16,7 @@
+ LINK => $LINK,
+ ENV => { PATH => $ENV{PATH}, HOME => $ENV{HOME} },
+ CFLAGS => $BASE_CFLAGS . '-fPIC',
+- LDFLAGS => '-shared -ldl -lm'
++ LDFLAGS => '-shared -lm'
+ );
+
+ # qvm building
diff --git a/games/quake3/files/patch-code-qcommon-common.c b/games/quake3/files/patch-code-qcommon-common.c
new file mode 100644
index 000000000000..94164ed41b01
--- /dev/null
+++ b/games/quake3/files/patch-code-qcommon-common.c
@@ -0,0 +1,19 @@
+diff -ruN ./code/qcommon/common.c ../quake3-1.32b-BUILT/./code/qcommon/common.c
+--- ./code/qcommon/common.c Tue Aug 16 02:10:07 2005
++++ ../quake3-1.32b-BUILT/./code/qcommon/common.c Mon Aug 22 21:03:32 2005
+@@ -24,15 +24,7 @@
+ #include "../game/q_shared.h"
+ #include "qcommon.h"
+ #include <setjmp.h>
+-#ifdef __linux__
+ #include <netinet/in.h>
+-#else
+-#if defined(MACOS_X)
+-#include <netinet/in.h>
+-#else
+-#include <winsock.h>
+-#endif
+-#endif
+
+ int demo_protocols[] =
+ { 66, 67, 68, 0 };
diff --git a/games/quake3/files/patch-code-ui-Conscript b/games/quake3/files/patch-code-ui-Conscript
new file mode 100644
index 000000000000..0b19a27ed11f
--- /dev/null
+++ b/games/quake3/files/patch-code-ui-Conscript
@@ -0,0 +1,12 @@
+diff -ruN ./code/ui/Conscript ../quake3-1.32b-BUILT/./code/ui/Conscript
+--- ./code/ui/Conscript Sun Jan 19 18:03:48 2003
++++ ../quake3-1.32b-BUILT/./code/ui/Conscript Mon Aug 22 20:53:50 2005
+@@ -16,7 +16,7 @@
+ LINK => $LINK,
+ ENV => { PATH => $ENV{PATH}, HOME => $ENV{HOME} },
+ CFLAGS => $BASE_CFLAGS . '-DMISSIONPACK -fPIC',
+- LDFLAGS => '-shared -ldl -lm'
++ LDFLAGS => '-shared -lm'
+ );
+
+ # qvm building
diff --git a/games/quake3/files/patch-code-unix-Conscript-client b/games/quake3/files/patch-code-unix-Conscript-client
new file mode 100644
index 000000000000..d96e68cfd001
--- /dev/null
+++ b/games/quake3/files/patch-code-unix-Conscript-client
@@ -0,0 +1,20 @@
+diff -ruN ./code/unix/Conscript-client ../quake3-1.32b-BUILT/./code/unix/Conscript-client
+--- ./code/unix/Conscript-client Mon Aug 15 23:56:27 2005
++++ ../quake3-1.32b-BUILT/./code/unix/Conscript-client Mon Aug 22 21:55:50 2005
+@@ -153,7 +153,7 @@
+ . $BUILD_DIR . '/unix/asmlib.a '
+ . $BUILD_DIR . '/unix/inlinelib.a '
+ . $BASE_LDFLAGS
+- . '-L/usr/X11R6/lib -lX11 -lXext -lXxf86dga -lXxf86vm -ldl -lm'
++ . '-L/usr/X11R6/lib -lX11 -lXext -lXxf86dga -lXxf86vm -lm'
+ );
+
+ @RENDERER_FILES = qw(
+@@ -231,7 +231,6 @@
+ ../unix/linux_common.c
+ ../unix/linux_qgl.c
+ ../unix/linux_glimp.c
+- ../unix/linux_joystick.c
+ ../unix/linux_snd.c
+ ../unix/linux_signals.c
+ );
diff --git a/games/quake3/files/patch-code-unix-Conscript-dedicated b/games/quake3/files/patch-code-unix-Conscript-dedicated
new file mode 100644
index 000000000000..3de75039ffe0
--- /dev/null
+++ b/games/quake3/files/patch-code-unix-Conscript-dedicated
@@ -0,0 +1,12 @@
+diff -ruN ./code/unix/Conscript-dedicated ../quake3-1.32b-BUILT/./code/unix/Conscript-dedicated
+--- ./code/unix/Conscript-dedicated Mon Aug 15 23:56:27 2005
++++ ../quake3-1.32b-BUILT/./code/unix/Conscript-dedicated Mon Aug 22 20:52:42 2005
+@@ -63,7 +63,7 @@
+ ENV => { PATH => $ENV{PATH}, HOME => $ENV{HOME} },
+ # FIXME TTimo I'm not sure about what C_ONLY is for
+ CFLAGS => $BASE_CFLAGS . '-DC_ONLY',
+- LDFLAGS => '-ldl -lm',
++ LDFLAGS => '-lm',
+ LIBS => ' '
+ . $BUILD_DIR . '/unix/botlib.a '
+ . $BUILD_DIR . '/unix/asmlib.a '
diff --git a/games/quake3/files/patch-code-unix-Makefile b/games/quake3/files/patch-code-unix-Makefile
new file mode 100644
index 000000000000..2e5555444b17
--- /dev/null
+++ b/games/quake3/files/patch-code-unix-Makefile
@@ -0,0 +1,99 @@
+--- code/unix/Makefile Sun May 5 12:21:10 2002
++++ ../../work/quake3-1.32b/code/unix/Makefile Sun Aug 28 23:16:03 2005
+@@ -136,7 +136,7 @@
+ ifeq ($(ARCH),ppc)
+ NEWPGCC=/loki/global/ppc/bin/gcc
+ CC=$(NEWPGCC)
+- RELEASE_CFLAGS=$(BASE_CFLAGS) -DNDEBUG -O6 -fomit-frame-pointer -pipe -ffast-math -malign-loops=2 -malign-jumps=2 -malign-functions=2 -fno-strict-aliasing -fstrength-reduce
++ RELEASE_CFLAGS=$(BASE_CFLAGS) -DNDEBUG -O6 -fomit-frame-pointer -pipe -ffast-math -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fno-strict-aliasing -fstrength-reduce
+ else
+ #NEWPGCC=/usr/local/gcc-2.95.2/bin/gcc # bk001205
+ #NEWPGCC=/loki/global/x86/bin/gcc
+@@ -146,9 +146,9 @@
+ # TTimo: legacy RELEASE_CFLAGS
+ # NOTE: the -fomit-frame-pointer option leads to an unstable binary on my test box if it was built on the main box
+ # but building on the Mdk 7.2 baseline seems to work
+- RELEASE_CFLAGS=$(BASE_CFLAGS) -DNDEBUG -O6 -mcpu=pentiumpro -march=pentium -fomit-frame-pointer -pipe -ffast-math -malign-loops=2 -malign-jumps=2 -malign-functions=2 -fno-strict-aliasing -fstrength-reduce
++ RELEASE_CFLAGS=$(BASE_CFLAGS) -DNDEBUG -O6 -march=pentiumpro -march=pentium -fomit-frame-pointer -pipe -ffast-math -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fno-strict-aliasing -fstrength-reduce
+ # TTimo: use this for building on P3 gcc 2.95.3 libc2.2 for all targets (experimental! -fomit-fram-pointer removed)
+-# RELEASE_CFLAGS=$(BASE_CFLAGS) -DNDEBUG -O6 -mcpu=pentiumpro -march=pentium -pipe -ffast-math -malign-loops=2 -malign-jumps=2 -malign-functions=2 -fno-strict-aliasing -fstrength-reduce
++# RELEASE_CFLAGS=$(BASE_CFLAGS) -DNDEBUG -O6 -march=pentiumpro -march=pentium -pipe -ffast-math -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fno-strict-aliasing -fstrength-reduce
+ endif
+ endif
+
+@@ -162,7 +162,7 @@
+ RANLIB=ranlib
+
+ THREAD_LDFLAGS=-lpthread
+- LDFLAGS=-ldl -lm
++ LDFLAGS=-lm
+ GLLDFLAGS=-L/usr/X11R6/lib -lX11 -lXext -lXxf86dga -lXxf86vm
+
+ ifeq ($(ARCH),axp)
+@@ -223,7 +223,7 @@
+ #NEWPGCC=/usr/local/gcc-2.95.2/bin/gcc
+ NEWPGCC=/home/raistllin/src/gcc/build/install/bin/gcc
+ CC=$(shell if [ -f $(NEWPGCC) ]; then echo $(NEWPGCC); else echo pgcc; fi )
+-RELEASE_CFLAGS=$(BASE_CFLAGS) -DNDEBUG -O6 -mcpu=pentiumpro -march=pentium -fomit-frame-pointer -pipe -ffast-math -malign-loops=2 -malign-jumps=2 -malign-functions=2 -fno-strict-aliasing - fstrength-reduce
++RELEASE_CFLAGS=$(BASE_CFLAGS) -DNDEBUG -O6 -march=pentiumpro -march=pentium -fomit-frame-pointer -pipe -ffast-math -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fno-strict-aliasing - fstrength-reduce
+ endif
+
+ LIBEXT=a
+@@ -283,7 +283,7 @@
+ ARFLAGS=ar rv
+ RANLIB=ranlib
+
+-LDFLAGS=-ldl -lm
++LDFLAGS=-lm
+ GLLDFLAGS=-L/usr/X11/lib -lGL -lX11 -lXext -lm
+
+ TARGETS=$(B)/sgiquake3 \
+@@ -312,7 +312,7 @@
+ ifeq ($(PLATFORM),freebsd)
+ LDFLAGS=-lm
+ else
+-LDFLAGS=-ldl -lm
++LDFLAGS=-lm
+ endif # ifeq freebsd
+
+ TARGETS=\
+@@ -578,7 +578,6 @@
+ $(B)/client/linux_common.o \
+ $(B)/client/linux_qgl.o \
+ $(B)/client/linux_glimp.o \
+- $(B)/client/linux_joystick.o \
+ $(B)/client/linux_snd.o \
+ $(B)/client/snd_mixa.o \
+ $(B)/client/matha.o \
+@@ -587,7 +586,6 @@
+ $(B)/client/linux_common.o \
+ $(B)/client/linux_qgl.o \
+ $(B)/client/linux_glimp_smp.o \
+- $(B)/client/linux_joystick.o \
+ $(B)/client/linux_snd.o \
+ $(B)/client/snd_mixa.o \
+ $(B)/client/matha.o
+@@ -754,7 +752,6 @@
+ $(B)/client/linux_common.o : $(UDIR)/linux_common.c; $(DO_CC)
+ $(B)/client/linux_glimp.o : $(UDIR)/linux_glimp.c; $(DO_CC) $(GL_CFLAGS)
+ $(B)/client/linux_glimp_smp.o : $(UDIR)/linux_glimp.c; $(DO_SMP_CC) $(GL_CFLAGS)
+-$(B)/client/linux_joystick.o : $(UDIR)/linux_joystick.c; $(DO_CC)
+ $(B)/client/linux_qgl.o : $(UDIR)/linux_qgl.c; $(DO_CC) $(GL_CFLAGS)
+ $(B)/client/linux_input.o : $(UDIR)/linux_input.c; $(DO_CC)
+ $(B)/client/linux_snd.o : $(UDIR)/linux_snd.c; $(DO_CC)
+@@ -1629,7 +1626,6 @@
+ \
+ $(B)/q3static/linux_qgl.o \
+ $(B)/q3static/linux_glimp.o \
+- $(B)/q3static/linux_joystick.o \
+ $(B)/q3static/linux_snd.o \
+ $(B)/q3static/snd_mixa.o \
+ $(B)/q3static/matha.o
+@@ -1779,7 +1775,6 @@
+ $(B)/q3static/unix_net.o : $(UDIR)/unix_net.c; $(DO_CC) -DQ3_STATIC
+ $(B)/q3static/unix_shared.o : $(UDIR)/unix_shared.c; $(DO_CC) -DQ3_STATIC
+ $(B)/q3static/linux_glimp.o : $(UDIR)/linux_glimp.c; $(DO_CC) -DQ3_STATIC
+-$(B)/q3static/linux_joystick.o : $(UDIR)/linux_joystick.c; $(DO_CC) -DQ3_STATIC
+ $(B)/q3static/linux_qgl.o : $(UDIR)/linux_qgl.c; $(DO_CC) -DQ3_STATIC
+ $(B)/q3static/linux_input.o : $(UDIR)/linux_input.c; $(DO_CC) -DQ3_STATIC
+ $(B)/q3static/linux_snd.o : $(UDIR)/linux_snd.c; $(DO_CC) -DQ3_STATIC
diff --git a/games/quake3/files/patch-code-unix-cons b/games/quake3/files/patch-code-unix-cons
new file mode 100644
index 000000000000..71d5fac4ad93
--- /dev/null
+++ b/games/quake3/files/patch-code-unix-cons
@@ -0,0 +1,21 @@
+diff -ruN ./code/unix/cons ../quake3-1.32b-BUILT/./code/unix/cons
+--- ./code/unix/cons Fri Jun 14 15:01:32 2002
++++ ../quake3-1.32b-BUILT/./code/unix/cons Tue Aug 23 14:21:45 2005
+@@ -271,7 +271,7 @@
+ # Defaults for a typical (?) UNIX platform.
+ # Your mileage may vary.
+ 'unix' => [
+- 'CC' => 'cc',
++ 'CC' => 'gcc',
+ 'CFLAGS' => '',
+ 'CCCOM' => '%CC %CFLAGS %_IFLAGS -c %< -o %>',
+ 'CXX' => '%CC',
+@@ -294,7 +294,7 @@
+ 'LD' => 'ld',
+ 'LDFLAGS' => '',
+ 'PREFLIB' => 'lib',
+- 'ENV' => { 'PATH' => '/bin:/usr/bin' },
++ 'ENV' => { 'PATH' => '/bin:/usr/bin:/usr/local/bin' },
+ ],
+ );
+
diff --git a/games/quake3/files/patch-code-unix-linux_common.c b/games/quake3/files/patch-code-unix-linux_common.c
new file mode 100644
index 000000000000..a03c4f64ece7
--- /dev/null
+++ b/games/quake3/files/patch-code-unix-linux_common.c
@@ -0,0 +1,18 @@
+diff -ruN ./code/unix/linux_common.c ../quake3-1.32b-BUILT/./code/unix/linux_common.c
+--- ./code/unix/linux_common.c Tue Aug 16 02:10:07 2005
++++ ../quake3-1.32b-BUILT/./code/unix/linux_common.c Tue Aug 23 13:38:35 2005
+@@ -33,6 +33,7 @@
+ #include <unistd.h> // AH - for size_t
+ #include <string.h>
+
++
+ // bk001207 - we need something under Linux, too. Mac?
+ #if 1 // defined(C_ONLY) // bk010102 - dedicated?
+ void Com_Memcpy (void* dest, const void* src, const size_t count) {
+@@ -340,5 +341,6 @@
+ break;
+ }
+ }
++
+
+ #endif
diff --git a/games/quake3/files/patch-code-unix-linux_glimp.c b/games/quake3/files/patch-code-unix-linux_glimp.c
new file mode 100644
index 000000000000..e4c4654000b4
--- /dev/null
+++ b/games/quake3/files/patch-code-unix-linux_glimp.c
@@ -0,0 +1,11 @@
+diff -ruN ./code/unix/linux_glimp.c ../quake3-1.32b-BUILT/./code/unix/linux_glimp.c
+--- ./code/unix/linux_glimp.c Tue Aug 16 02:10:07 2005
++++ ../quake3-1.32b-BUILT/./code/unix/linux_glimp.c Mon Aug 22 22:11:16 2005
+@@ -1774,7 +1774,5 @@
+ // bk010216 - added stubs for non-Linux UNIXes here
+ // FIXME - use NO_JOYSTICK or something else generic
+
+-#if defined( __FreeBSD__ ) // rb010123
+ void IN_StartupJoystick( void ) {}
+ void IN_JoyMove( void ) {}
+-#endif
diff --git a/games/quake3/files/patch-code-unix-unix_shared.c b/games/quake3/files/patch-code-unix-unix_shared.c
new file mode 100644
index 000000000000..27492d29bbbb
--- /dev/null
+++ b/games/quake3/files/patch-code-unix-unix_shared.c
@@ -0,0 +1,45 @@
+--- code/unix/unix_shared.c Tue Aug 16 02:10:07 2005
++++ ../../work/quake3-1.32b/code/unix/unix_shared.c Mon Aug 29 00:37:41 2005
+@@ -38,7 +38,7 @@
+ static char cdPath[MAX_OSPATH];
+
+ // Used to determine local installation path
+-static char installPath[MAX_OSPATH];
++static char installPath[MAX_OSPATH] = "##PREFIX##/lib/quake3"; // FreeBSD
+
+ // Used to determine where to store user-specific files
+ static char homePath[MAX_OSPATH];
+@@ -76,7 +76,7 @@
+ return curtime;
+ }
+
+-#if defined(__linux__) && !defined(DEDICATED)
++// #if defined(__linux__) && !defined(DEDICATED)
+ /*
+ ================
+ Sys_XTimeToSysTime
+@@ -98,11 +98,15 @@
+ {
+ int ret, time, test;
+
++ /*
++ Let's try to comment out this and see what will happen :-)
++
+ if (!in_subframe->value)
+ {
+ // if you don't want to do any event times corrections
+ return Sys_Milliseconds();
+ }
++ */
+
+ // test the wrap issue
+ #if 0
+@@ -136,7 +140,7 @@
+
+ return ret;
+ }
+-#endif
++// #endif
+
+ //#if 0 // bk001215 - see snapvector.nasm for replacement
+ #if (defined __APPLE__) // rcg010206 - using this for PPC builds...
diff --git a/games/quake3/files/patch-lcc-custom.mk b/games/quake3/files/patch-lcc-custom.mk
new file mode 100644
index 000000000000..8e6807919e3b
--- /dev/null
+++ b/games/quake3/files/patch-lcc-custom.mk
@@ -0,0 +1,6 @@
+diff -ruN ./lcc/custom.mk ../quake3-1.32b-BUILT/./lcc/custom.mk
+--- ./lcc/custom.mk Wed Oct 17 23:53:10 2001
++++ ../quake3-1.32b-BUILT/./lcc/custom.mk Mon Aug 22 20:50:29 2005
+@@ -1 +1 @@
+-BUILDDIR=/tmp
++BUILDDIR=./build
diff --git a/games/quake3/files/patch-lcc-makefile b/games/quake3/files/patch-lcc-makefile
new file mode 100644
index 000000000000..f5bf35620127
--- /dev/null
+++ b/games/quake3/files/patch-lcc-makefile
@@ -0,0 +1,12 @@
+diff -ruN ./lcc/makefile ../quake3-1.32b-BUILT/./lcc/makefile
+--- ./lcc/makefile Wed Oct 17 23:53:10 2001
++++ ../quake3-1.32b-BUILT/./lcc/makefile Mon Aug 22 20:59:15 2005
+@@ -136,7 +136,7 @@
+
+ $Blcc$E: $Blcc$O $Bhost$O; $(LD) $(LDFLAGS) -o $@ $Blcc$O $Bhost$O
+
+-SYSTEM=$(shell cc -print-search-dirs | head -n 1 | cut -b 10-)
++SYSTEM=/usr/lib
+
+ $Blcc$O: etc/lcc.c; $(CC) $(CFLAGS) -c -DTEMPDIR=\"$(TEMPDIR)\" -o $@ etc/lcc.c
+ $Bhost$O: $(HOSTFILE); $(CC) $(CFLAGS) -c -DSYSTEM=\"$(SYSTEM)\" -o $@ $(HOSTFILE)
diff --git a/games/quake3/pkg-descr b/games/quake3/pkg-descr
new file mode 100644
index 000000000000..9212bbe81040
--- /dev/null
+++ b/games/quake3/pkg-descr
@@ -0,0 +1,18 @@
+Quake III Arena, developed by the gaming wizards at id Software,
+is the third installment of one of the most popular computer game
+franchises of all time. Organic caverns, gothic cathedrals and
+futuristic spacescapes play host to Quake III Arena's unrivaled
+blend of action, strategy and jaw-dropping technology as Linux
+gamers are invited to square off against 32 of history's greatest
+warriors. Built around a revolutionary new graphics engine capable
+of delivering mind blowing 3D special effects including curved
+surfaces and volumetric fog, Quake III Arena is the final word in
+deathmatching mayhem.
+
+This is a native build for FreeBSD. Sorry, no joystick support
+is available at this time.
+
+WWW: http://www.idsoftware.com/games/quake/quake3-arena/
+
+- Linas
+shirshegsm@gmail.com
diff --git a/games/quake3/pkg-message b/games/quake3/pkg-message
new file mode 100644
index 000000000000..3ad5ccdfa8a5
--- /dev/null
+++ b/games/quake3/pkg-message
@@ -0,0 +1,7 @@
+-----
+Quake III client is installed in bin/quake3 and
+Quake III dedicated server in bin/q3ded.
+
+No .pak3's are installed, you need to copy/link them to
+~/.q3a/baseq3
+-----
diff --git a/games/quake3/pkg-plist b/games/quake3/pkg-plist
new file mode 100644
index 000000000000..584f4808a57b
--- /dev/null
+++ b/games/quake3/pkg-plist
@@ -0,0 +1,19 @@
+bin/q3ded
+bin/quake3
+lib/quake3/baseq3/cgamei386.so
+lib/quake3/baseq3/qagamei386.so
+lib/quake3/baseq3/uii386.so
+lib/quake3/baseq3/vm/cgame.qvm
+lib/quake3/baseq3/vm/qagame.qvm
+lib/quake3/baseq3/vm/ui.qvm
+lib/quake3/missionpack/cgamei386.so
+lib/quake3/missionpack/qagamei386.so
+lib/quake3/missionpack/uii386.so
+lib/quake3/missionpack/vm/cgame.qvm
+lib/quake3/missionpack/vm/qagame.qvm
+lib/quake3/missionpack/vm/ui.qvm
+@dirrm lib/quake3/baseq3/vm
+@dirrm lib/quake3/baseq3
+@dirrm lib/quake3/missionpack/vm
+@dirrm lib/quake3/missionpack
+@dirrm lib/quake3