summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'games-fps/quakeforge/files')
-rw-r--r--games-fps/quakeforge/files/0.5.5-ipv6.patch10
-rw-r--r--games-fps/quakeforge/files/quakeforge-0.5.5-amd64.patch14
-rw-r--r--games-fps/quakeforge/files/quakeforge-0.5.5-gcc41.patch342
-rw-r--r--games-fps/quakeforge/files/quakeforge-0.5.5-gcc46.patch174
-rw-r--r--games-fps/quakeforge/files/quakeforge-0.5.5-keys.patch103
-rw-r--r--games-fps/quakeforge/files/quakeforge-0.5.5-libc.patch17
-rw-r--r--games-fps/quakeforge/files/quakeforge-0.5.5-no-page-size.patch15
-rw-r--r--games-fps/quakeforge/files/quakeforge-0.5.5-noWerror.patch65
-rw-r--r--games-fps/quakeforge/files/quakeforge-0.5.5-zlib-1.2.6.patch14
-rw-r--r--games-fps/quakeforge/files/quakeforge-0.7.2-gentoo.patch33
10 files changed, 787 insertions, 0 deletions
diff --git a/games-fps/quakeforge/files/0.5.5-ipv6.patch b/games-fps/quakeforge/files/0.5.5-ipv6.patch
new file mode 100644
index 000000000000..96b92774dda7
--- /dev/null
+++ b/games-fps/quakeforge/files/0.5.5-ipv6.patch
@@ -0,0 +1,10 @@
+--- libs/net/nc/net_udp6.c.orig 2004-05-16 04:21:18.334083592 -0400
++++ libs/net/nc/net_udp6.c 2004-05-16 04:21:31.513080080 -0400
+@@ -123,6 +123,7 @@
+
+ netadr_t net_from;
+ netadr_t net_local_adr;
++netadr_t net_loopback_adr;
+ int net_socket;
+
+ static sizebuf_t _net_message_message;
diff --git a/games-fps/quakeforge/files/quakeforge-0.5.5-amd64.patch b/games-fps/quakeforge/files/quakeforge-0.5.5-amd64.patch
new file mode 100644
index 000000000000..ed33e45343fc
--- /dev/null
+++ b/games-fps/quakeforge/files/quakeforge-0.5.5-amd64.patch
@@ -0,0 +1,14 @@
+diff -Naur quakeforge-0.5.5/libs/video/renderer/sw/Makefile.in quakeforge-0.5.5-modified/libs/video/renderer/sw/Makefile.in
+--- quakeforge-0.5.5/libs/video/renderer/sw/Makefile.in 2004-05-02 16:52:12.000000000 -0400
++++ quakeforge-0.5.5-modified/libs/video/renderer/sw/Makefile.in 2007-06-24 22:29:59.000000000 -0400
+@@ -403,8 +403,8 @@
+ target_vendor = @target_vendor@
+ vid_libs = @vid_libs@
+ AUTOMAKE_OPTIONS = foreign
+-AM_CFLAGS = @PREFER_NON_PIC@
+-AM_CCASFLAGS = @PREFER_NON_PIC@
++AM_CFLAGS = -fPIC
++AM_CCASFLAGS = -fPIC
+ INCLUDES = -I$(top_srcdir)/include
+ @ASM_ARCH_FALSE@asm =
+ @ASM_ARCH_TRUE@asm = libasm.la
diff --git a/games-fps/quakeforge/files/quakeforge-0.5.5-gcc41.patch b/games-fps/quakeforge/files/quakeforge-0.5.5-gcc41.patch
new file mode 100644
index 000000000000..a609c502ee50
--- /dev/null
+++ b/games-fps/quakeforge/files/quakeforge-0.5.5-gcc41.patch
@@ -0,0 +1,342 @@
+diff -burN quakeforge-0.5.5/libs/audio/cd/cd_file.c quakeforge-new/libs/audio/cd/cd_file.c
+--- quakeforge-0.5.5/libs/audio/cd/cd_file.c 2004-02-07 21:39:44.000000000 -0500
++++ quakeforge-new/libs/audio/cd/cd_file.c 2006-03-28 14:50:26.000000000 -0500
+@@ -84,7 +84,7 @@
+ static int current_track; // current track, used when pausing
+ static plitem_t *tracklist = NULL; // parsed tracklist, dictionary format
+
+-static cvar_t *bgmvolume; // volume cvar
++cvar_t *bgmvolume; // volume cvar
+ static cvar_t *mus_ogglist; // tracklist cvar
+
+
+diff -burN quakeforge-0.5.5/libs/audio/cd/cd_linux.c quakeforge-new/libs/audio/cd/cd_linux.c
+--- quakeforge-0.5.5/libs/audio/cd/cd_linux.c 2004-02-07 00:35:15.000000000 -0500
++++ quakeforge-new/libs/audio/cd/cd_linux.c 2006-03-28 14:50:40.000000000 -0500
+@@ -79,7 +79,7 @@
+ static int cdfile = -1;
+
+ static cvar_t *mus_cddevice;
+-static cvar_t *bgmvolume;
++cvar_t *bgmvolume;
+
+
+ static void
+diff -burN quakeforge-0.5.5/libs/audio/cd/cd_sdl.c quakeforge-new/libs/audio/cd/cd_sdl.c
+--- quakeforge-0.5.5/libs/audio/cd/cd_sdl.c 2004-03-20 23:59:02.000000000 -0500
++++ quakeforge-new/libs/audio/cd/cd_sdl.c 2006-03-28 14:50:52.000000000 -0500
+@@ -65,7 +65,7 @@
+ static SDL_CD *cd_id;
+ static float cdvolume = 1.0;
+
+-static cvar_t *bgmvolume;
++ cvar_t *bgmvolume;
+
+
+ static void
+diff -burN quakeforge-0.5.5/libs/audio/cd/cd_sgi.c quakeforge-new/libs/audio/cd/cd_sgi.c
+--- quakeforge-0.5.5/libs/audio/cd/cd_sgi.c 2004-02-07 00:35:15.000000000 -0500
++++ quakeforge-new/libs/audio/cd/cd_sgi.c 2006-03-28 14:51:01.000000000 -0500
+@@ -65,7 +65,7 @@
+ static char cd_dev[] = "/dev/cdrom";
+
+ static CDPLAYER *cdp = NULL;
+-static cvar_t *bgmvolume;
++cvar_t *bgmvolume;
+
+ static void
+ I_SGI_Eject (void)
+diff -burN quakeforge-0.5.5/libs/audio/cd/cd_win.c quakeforge-new/libs/audio/cd/cd_win.c
+--- quakeforge-0.5.5/libs/audio/cd/cd_win.c 2004-02-07 00:35:15.000000000 -0500
++++ quakeforge-new/libs/audio/cd/cd_win.c 2006-03-28 14:51:07.000000000 -0500
+@@ -68,7 +68,7 @@
+ static void I_CDAudio_Play (int track, qboolean looping);
+ static void I_CDAudio_Stop (void);
+
+-static cvar_t *bgmvolume;
++cvar_t *bgmvolume;
+
+
+ static void
+diff -burN quakeforge-0.5.5/libs/audio/renderer/snd_dma.c quakeforge-new/libs/audio/renderer/snd_dma.c
+--- quakeforge-0.5.5/libs/audio/renderer/snd_dma.c 2004-03-01 06:51:01.000000000 -0500
++++ quakeforge-new/libs/audio/renderer/snd_dma.c 2006-03-28 14:54:03.000000000 -0500
+@@ -72,17 +72,17 @@
+ static channel_t *static_channels[MAX_CHANNELS];
+ static int num_statics;
+
+-static qboolean snd_initialized = false;
+-static int snd_blocked = 0;
++qboolean snd_initialized = false;
++int snd_blocked = 0;
+ static qboolean snd_ambient = 1;
+
+-static vec3_t listener_origin;
+-static vec3_t listener_forward;
+-static vec3_t listener_right;
+-static vec3_t listener_up;
+-static vec_t sound_nominal_clip_dist = 1000.0;
++vec3_t listener_origin;
++vec3_t listener_forward;
++vec3_t listener_right;
++vec3_t listener_up;
++vec_t sound_nominal_clip_dist = 1000.0;
+
+-static unsigned soundtime; // sample PAIRS
++unsigned soundtime; // sample PAIRS
+
+ #define MAX_SFX 512
+ static sfx_t *known_sfx; // hunk allocated [MAX_SFX]
+@@ -97,7 +97,7 @@
+ static cvar_t *ambient_level;
+ static cvar_t *nosound;
+ static cvar_t *precache;
+-static cvar_t *snd_mixahead;
++cvar_t *snd_mixahead;
+ static cvar_t *snd_noextraupdate;
+ static cvar_t *snd_phasesep;
+ static cvar_t *snd_show;
+@@ -122,7 +122,7 @@
+ // isolating performance in the renderer. The fakedma_updates is
+ // number of times s_update() is called per second.
+
+-static qboolean fakedma = false;
++qboolean fakedma = false;
+ //static int fakedma_updates = 15;
+
+
+diff -burN quakeforge-0.5.5/libs/audio/targets/snd_alsa.c quakeforge-new/libs/audio/targets/snd_alsa.c
+--- quakeforge-0.5.5/libs/audio/targets/snd_alsa.c 2004-04-28 21:13:37.000000000 -0400
++++ quakeforge-new/libs/audio/targets/snd_alsa.c 2006-03-28 14:52:01.000000000 -0500
+@@ -43,7 +43,7 @@
+ #include "QF/sys.h"
+
+ static int snd_inited;
+-static int snd_blocked = 0;
++int snd_blocked = 0;
+ static volatile dma_t sn;
+ static snd_pcm_uframes_t buffer_size;
+
+@@ -59,10 +59,10 @@
+ static snd_output_data_t plugin_info_snd_output_data;
+ static snd_output_funcs_t plugin_info_snd_output_funcs;
+
+-static cvar_t *snd_bits;
+-static cvar_t *snd_device;
+-static cvar_t *snd_rate;
+-static cvar_t *snd_stereo;
++cvar_t *snd_bits;
++cvar_t *snd_device;
++cvar_t *snd_rate;
++cvar_t *snd_stereo;
+
+ #define QF_ALSA_NEED(ret, func, params) \
+ static ret (*qf##func) params;
+diff -burN quakeforge-0.5.5/libs/audio/targets/snd_disk.c quakeforge-new/libs/audio/targets/snd_disk.c
+--- quakeforge-0.5.5/libs/audio/targets/snd_disk.c 2004-01-07 22:46:11.000000000 -0500
++++ quakeforge-new/libs/audio/targets/snd_disk.c 2006-03-28 14:51:31.000000000 -0500
+@@ -55,7 +55,7 @@
+
+ static int snd_inited;
+ static QFile *snd_file;
+-static int snd_blocked = 0;
++int snd_blocked = 0;
+ static volatile dma_t sn;
+
+ static plugin_t plugin_info;
+diff -burN quakeforge-0.5.5/libs/audio/targets/snd_oss.c quakeforge-new/libs/audio/targets/snd_oss.c
+--- quakeforge-0.5.5/libs/audio/targets/snd_oss.c 2004-01-15 21:50:26.000000000 -0500
++++ quakeforge-new/libs/audio/targets/snd_oss.c 2006-03-28 14:52:24.000000000 -0500
+@@ -85,10 +85,10 @@
+
+ static int tryrates[] = { 11025, 22050, 22051, 44100, 8000 };
+
+-static cvar_t *snd_stereo;
+-static cvar_t *snd_rate;
+-static cvar_t *snd_device;
+-static cvar_t *snd_bits;
++cvar_t *snd_stereo;
++cvar_t *snd_rate;
++cvar_t *snd_device;
++cvar_t *snd_bits;
+ static cvar_t *snd_oss_mmaped;
+
+ static plugin_t plugin_info;
+diff -burN quakeforge-0.5.5/libs/audio/targets/snd_sdl.c quakeforge-new/libs/audio/targets/snd_sdl.c
+--- quakeforge-0.5.5/libs/audio/targets/snd_sdl.c 2004-01-07 22:46:11.000000000 -0500
++++ quakeforge-new/libs/audio/targets/snd_sdl.c 2006-03-28 14:52:38.000000000 -0500
+@@ -51,7 +51,7 @@
+
+ static dma_t sn;
+ static int snd_inited;
+-static int snd_blocked = 0;
++int snd_blocked = 0;
+
+ static int desired_speed = 11025;
+ static int desired_bits = 16;
+diff -burN quakeforge-0.5.5/libs/console/client.c quakeforge-new/libs/console/client.c
+--- quakeforge-0.5.5/libs/console/client.c 2004-03-01 22:55:17.000000000 -0500
++++ quakeforge-new/libs/console/client.c 2006-03-28 14:56:43.000000000 -0500
+@@ -84,7 +84,7 @@
+
+ static cvar_t *con_notifytime; // seconds
+ static cvar_t *con_alpha;
+-static cvar_t *con_size;
++cvar_t *con_size;
+ static cvar_t *con_speed;
+ static cvar_t *cl_chatmode;
+
+diff -burN quakeforge-0.5.5/libs/console/server.c quakeforge-new/libs/console/server.c
+--- quakeforge-0.5.5/libs/console/server.c 2004-01-27 00:23:36.000000000 -0500
++++ quakeforge-new/libs/console/server.c 2006-03-28 14:56:31.000000000 -0500
+@@ -70,7 +70,7 @@
+
+ #include "compat.h"
+
+-static console_data_t con_data;
++console_data_t con_data;
+
+ static QFile *log_file;
+ static cvar_t *sv_logfile;
+diff -burN quakeforge-0.5.5/libs/gib/gib_classes.c quakeforge-new/libs/gib/gib_classes.c
+--- quakeforge-0.5.5/libs/gib/gib_classes.c 2003-11-28 21:01:31.000000000 -0500
++++ quakeforge-new/libs/gib/gib_classes.c 2006-03-28 14:57:41.000000000 -0500
+@@ -192,7 +192,7 @@
+ unsigned int size;
+ unsigned int i = 0;
+
+- static qboolean
++ qboolean
+ iterator (gib_class_t *class, void *unused)
+ {
+ reply[i++] = class->name;
+@@ -610,13 +610,13 @@
+ gib_classdesc_t desc;
+ enum {CLASS, INSTANCE} mode = INSTANCE;
+
+- static void
++ void
+ mtabfree (void *mtab, void *unused)
+ {
+ free (mtab);
+ }
+
+- static const char *
++ const char *
+ fname (const char *str)
+ {
+ if (mode == INSTANCE)
+diff -burN quakeforge-0.5.5/libs/gib/gib_function.c quakeforge-new/libs/gib/gib_function.c
+--- quakeforge-0.5.5/libs/gib/gib_function.c 2004-04-09 14:18:19.000000000 -0400
++++ quakeforge-new/libs/gib/gib_function.c 2006-03-28 14:58:10.000000000 -0500
+@@ -169,7 +169,7 @@
+ gib_var_t *var;
+ static char argss[] = "args";
+
+- static qboolean
++ qboolean
+ iterate (char *arg, llist_node_t *node)
+ {
+ var = GIB_Var_Get_Complex (&GIB_DATA(cbuf)->locals, &zero,
+@@ -207,7 +207,7 @@
+ gib_var_t *var;
+ static char argss[] = "args";
+
+- static qboolean
++ qboolean
+ iterate (char *arg, llist_node_t *node)
+ {
+ var = GIB_Var_Get_Complex (&GIB_DATA(cbuf)->locals, &zero,
+diff -burN quakeforge-0.5.5/libs/gib/gib_thread.c quakeforge-new/libs/gib/gib_thread.c
+--- quakeforge-0.5.5/libs/gib/gib_thread.c 2003-09-11 02:03:10.000000000 -0400
++++ quakeforge-new/libs/gib/gib_thread.c 2006-03-28 14:58:26.000000000 -0500
+@@ -89,7 +89,7 @@
+ void
+ GIB_Thread_Execute (void)
+ {
+- static qboolean iterator (cbuf_t *cbuf, llist_node_t *node)
++ qboolean iterator (cbuf_t *cbuf, llist_node_t *node)
+ {
+ if (GIB_DATA(cbuf)->program)
+ Cbuf_Execute_Stack (cbuf);
+diff -burN quakeforge-0.5.5/qw/source/cl_chat.c quakeforge-new/qw/source/cl_chat.c
+--- quakeforge-0.5.5/qw/source/cl_chat.c 2003-07-18 02:27:26.000000000 -0400
++++ quakeforge-new/qw/source/cl_chat.c 2006-03-28 15:01:54.000000000 -0500
+@@ -66,7 +66,7 @@
+ static void
+ CL_Ignore_Sanity_Check (void)
+ {
+- static qboolean iterator (ignore_t *ig, llist_node_t *node)
++ qboolean iterator (ignore_t *ig, llist_node_t *node)
+ {
+ if (cl.players[ig->slot].userid != ig->uid) // We got out of sync somehow
+ llist_remove (node);
+@@ -80,12 +80,12 @@
+ {
+ CL_Ignore_Sanity_Check ();
+ if (Cmd_Argc () == 1) {
+- static qboolean live_iterator (ignore_t *ig, llist_node_t *node)
++ qboolean live_iterator (ignore_t *ig, llist_node_t *node)
+ {
+ Sys_Printf ("%5i - %s\n", ig->uid, Info_ValueForKey (cl.players[ig->slot].userinfo, "name"));
+ return true;
+ }
+- static qboolean dead_iterator (ignore_t *ig, llist_node_t *node)
++ qboolean dead_iterator (ignore_t *ig, llist_node_t *node)
+ {
+ Sys_Printf ("%s\n", ig->lastname);
+ return true;
+@@ -145,7 +145,7 @@
+ dstring_t *test = dstring_newstr ();
+ qboolean allowed = true;
+
+- static qboolean iterator (ignore_t *ig, llist_node_t *node)
++ qboolean iterator (ignore_t *ig, llist_node_t *node)
+ {
+ if (cl.players[ig->slot].userid != ig->uid) { // We got out of sync somehow
+ llist_remove (node);
+@@ -183,7 +183,7 @@
+ {
+ ignore_t *found = 0;
+
+- static qboolean iterator (ignore_t *ig, llist_node_t *node)
++ qboolean iterator (ignore_t *ig, llist_node_t *node)
+ {
+ if (!strcmp (ig->lastname, name)) {
+ found = ig;
+diff -burN quakeforge-0.5.5/tools/qfcc/source/method.c quakeforge-new/tools/qfcc/source/method.c
+--- quakeforge-0.5.5/tools/qfcc/source/method.c 2004-02-16 19:39:21.000000000 -0500
++++ quakeforge-new/tools/qfcc/source/method.c 2006-03-28 15:04:18.000000000 -0500
+@@ -61,7 +61,7 @@
+ #include "struct.h"
+ #include "type.h"
+
+-static hashtab_t *known_methods;
++hashtab_t *known_methods;
+
+ static const char *
+ method_get_key (void *meth, void *unused)
+diff -burN quakeforge-0.5.5/libs/video/targets/context_x11.c quakeforge-new/libs/video/targets/context_x11.c
+--- quakeforge-0.5.5/libs/video/targets/context_x11.c 2006-03-29 15:29:07.000000000 -0500
++++ quakeforge-new/libs/video/targets/context_x11.c 2006-03-29 15:29:49.000000000 -0500
+@@ -97,7 +97,7 @@
+ static XF86VidModeModeInfo **vidmodes;
+ static int nummodes;
+ static int original_mode = 0;
+-static vec3_t x_gamma = {-1, -1, -1};
++vec3_t x_gamma = {-1, -1, -1};
+ static qboolean vidmode_avail = false;
+ #endif
+
+diff -burN quakeforge-0.5.5/libs/video/targets/vid_x11.c quakeforge-new/libs/video/targets/vid_x11.c
+--- quakeforge-0.5.5/libs/video/targets/vid_x11.c 2006-03-29 15:29:07.000000000 -0500
++++ quakeforge-new/libs/video/targets/vid_x11.c 2006-03-29 15:30:15.000000000 -0500
+@@ -86,7 +86,7 @@
+ static Colormap x_cmap;
+ static GC x_gc;
+
+-static qboolean doShm;
++qboolean doShm;
+ static XShmSegmentInfo x_shminfo[2];
+
+ static int current_framebuffer;
diff --git a/games-fps/quakeforge/files/quakeforge-0.5.5-gcc46.patch b/games-fps/quakeforge/files/quakeforge-0.5.5-gcc46.patch
new file mode 100644
index 000000000000..9ce55330c7c1
--- /dev/null
+++ b/games-fps/quakeforge/files/quakeforge-0.5.5-gcc46.patch
@@ -0,0 +1,174 @@
+--- libs/audio/cd/Makefile.am.old 2011-04-18 11:40:51.058924897 +0200
++++ libs/audio/cd/Makefile.am 2011-04-18 12:24:29.486917778 +0200
+@@ -5,13 +5,12 @@
+ SDL_LIBS= @SDL_LIBS@
+ XMMS_LIBS= @XMMS_LIBS@
+ plugin_version= 1:0:0
+-plugin_ldflags= @plugin_ldflags@
++plugin_ldflags= @plugin_ldflags@ -module
+ plugin_libadd= @plugin_libadd@
+ EXEEXT=
+
+-plugin_PROGRAMS= @CD_PLUGIN_TARGETS@
+-noinst_PROGRAMS= @CD_PLUGIN_STATIC@
+-EXTRA_PROGRAMS= cd_file.la cd_linux.la cd_sdl.la cd_sgi.la cd_win.la cd_xmms.la
++plugin_LTLIBRARIES= @CD_PLUGIN_TARGETS@
++EXTRA_LTLIBRARIES= cd_file.la cd_linux.la cd_sdl.la cd_sgi.la cd_win.la cd_xmms.la
+
+ cd_file_la_LDFLAGS= $(plugin_ldflags)
+ cd_file_la_SOURCES= cd_file.c
+@@ -20,19 +19,19 @@
+ cd_linux_la_SOURCES= cd_linux.c
+
+ cd_sdl_la_LDFLAGS= $(plugin_ldflags)
+-cd_sdl_la_LDADD= $(SDL_LIBS) $(plugin_libadd)
++cd_sdl_la_LIBADD= $(SDL_LIBS) $(plugin_libadd)
+ cd_sdl_la_CFLAGS= $(SDL_CFLAGS)
+ cd_sdl_la_SOURCES= cd_sdl.c
+
+ cd_sgi_la_LDFLAGS= $(plugin_ldflags)
+-cd_sgi_la_LDADD= $(SGI_CD_LIBS)
++cd_sgi_la_LIBADD= $(SGI_CD_LIBS)
+ cd_sgi_la_SOURCES= cd_sgi.c
+
+ cd_win_la_LDFLAGS= $(plugin_ldflags)
+-cd_win_la_LDADD= $(plugin_libadd)
++cd_win_la_LIBADD= $(plugin_libadd)
+ cd_win_la_SOURCES= cd_win.c
+
+ cd_xmms_la_LDFLAGS= $(plugin_ldflags)
+-cd_xmms_la_LDADD= $(XMMS_LIBS)
++cd_xmms_la_LIBADD= $(XMMS_LIBS)
+ cd_xmms_la_CFLAGS= $(XMMS_CFLAGS)
+ cd_xmms_la_SOURCES= cd_xmms.c
+--- libs/audio/targets/Makefile.am.old 2011-04-18 12:50:20.674846930 +0200
++++ libs/audio/targets/Makefile.am 2011-04-18 12:53:22.220844800 +0200
+@@ -4,39 +4,38 @@
+ INCLUDES= -I$(top_srcdir)/include
+ SDL_LIBS = @SDL_LIBS@
+ plugin_version= 1:0:0
+-plugin_ldflags= @plugin_ldflags@
++plugin_ldflags= @plugin_ldflags@ -module
+ plugin_libadd= @plugin_libadd@
+ EXEEXT=
+
+-plugin_PROGRAMS= @SND_PLUGIN_TARGETS@
+-noinst_PROGRAMS= @SND_PLUGIN_STATIC@
+-EXTRA_PROGRAMS= \
++plugin_LTLIBRARIES= @SND_PLUGIN_TARGETS@
++EXTRA_LTLIBRARIES= \
+ snd_output_sdl.la snd_output_alsa.la snd_output_alsa0_9.la\
+ snd_output_oss.la snd_output_sgi.la snd_output_sun.la \
+ snd_output_win.la snd_output_dx.la snd_output_disk.la
+
+ snd_output_sdl_la_LDFLAGS= $(plugin_ldflags)
+-snd_output_sdl_la_LDADD= $(SDL_LIBS) $(plugin_libadd)
++snd_output_sdl_la_LIBADD= $(SDL_LIBS) $(plugin_libadd)
+ snd_output_sdl_la_CFLAGS= $(SDL_CFLAGS)
+ snd_output_sdl_la_SOURCES= snd_sdl.c
+
+ snd_output_alsa_la_LDFLAGS= $(plugin_ldflags)
+-snd_output_alsa_la_LDADD=
++snd_output_alsa_la_LIBADD=
+ snd_output_alsa_la_CFLAGS= $(ALSA_CFLAGS)
+ snd_output_alsa_la_SOURCES= snd_alsa.c
+
+ snd_output_alsa0_9_la_LDFLAGS= $(plugin_ldflags)
+-snd_output_alsa0_9_la_LDADD=
++snd_output_alsa0_9_la_LIBADD=
+ snd_output_alsa0_9_la_CFLAGS= $(ALSA_CFLAGS)
+ snd_output_alsa0_9_la_SOURCES= snd_alsa_0_9.c
+
+ snd_output_oss_la_LDFLAGS= $(plugin_ldflags)
+-snd_output_oss_la_LDADD= $(OSS_LIBS)
++snd_output_oss_la_LIBADD= $(OSS_LIBS)
+ snd_output_oss_la_CFLAGS= $(OSS_CFLAGS)
+ snd_output_oss_la_SOURCES= snd_oss.c
+
+ snd_output_sgi_la_LDFLAGS= $(plugin_ldflags)
+-snd_output_sgi_la_LDADD= $(SGISND_LIBS)
++snd_output_sgi_la_LIBADD= $(SGISND_LIBS)
+ snd_output_sgi_la_CFLAGS= $(SGISND_CFLAGS)
+ snd_output_sgi_la_SOURCES= snd_sgi.c
+
+@@ -45,16 +44,16 @@
+ snd_output_sun_la_SOURCES= snd_sun.c
+
+ snd_output_win_la_LDFLAGS= $(plugin_ldflags)
+-snd_output_win_la_LDADD= $(WINSND_LIBS) $(plugin_libadd)
++snd_output_win_la_LIBADD= $(WINSND_LIBS) $(plugin_libadd)
+ snd_output_win_la_CFLAGS= $(WIN32SND_CFLAGS)
+ snd_output_win_la_SOURCES= snd_win.c
+
+ snd_output_dx_la_LDFLAGS= $(plugin_ldflags)
+-snd_output_dx_la_LDADD= $(WINSND_LIBS) $(plugin_libadd)
++snd_output_dx_la_LIBADD= $(WINSND_LIBS) $(plugin_libadd)
+ snd_output_dx_la_CFLAGS= $(WIN32SND_CFLAGS)
+ snd_output_dx_la_SOURCES= snd_dx.c
+
+ snd_output_disk_la_LDFLAGS= $(plugin_ldflags)
+-snd_output_disk_la_LDADD= $(plugin_libadd)
++snd_output_disk_la_LIBADD= $(plugin_libadd)
+ snd_output_disk_la_CFLAGS=
+ snd_output_disk_la_SOURCES= snd_disk.c
+--- libs/audio/renderer/Makefile.am.old 2011-04-18 12:54:32.560697490 +0200
++++ libs/audio/renderer/Makefile.am 2011-04-18 12:55:21.157363865 +0200
+@@ -3,21 +3,19 @@
+ AM_CFLAGS= @PREFER_PIC@ @VORBIS_CFLAGS@ @OGG_CFLAGS@
+ INCLUDES= -I$(top_srcdir)/include
+ plugin_version= 1:0:0
+-plugin_ldflags= @plugin_ldflags@
++plugin_ldflags= @plugin_ldflags@ -module
+ plugin_libadd= @plugin_libadd@
+ EXEEXT=
+
+-plugin_PROGRAMS= @SND_REND_TARGETS@
+-EXTRA_PROGRAMS= snd_render_default.la
+-
+-noinst_PROGRAMS= @SND_REND_STATIC@
++plugin_LTLIBRARIES= @SND_REND_TARGETS@
++EXTRA_LTLIBRARIES= snd_render_default.la
+
+ snd_render_default_la_LDFLAGS= $(plugin_ldflags)
+ snd_render_default_la_SOURCES= snd_dma.c snd_mem.c snd_mix.c vorbis.c wav.c midi.c
+ if ASM_ARCH
+-snd_render_default_la_LDADD= $(VORBISFILE_LIBS) $(VORBIS_LIBS) $(OGG_LIBS) $(WM_LIBS)
++snd_render_default_la_LIBADD= $(VORBISFILE_LIBS) $(VORBIS_LIBS) $(OGG_LIBS) $(WM_LIBS)
+ snd_render_default_la_DEPENDENCIES=
+ else
+-snd_render_default_la_LDADD= $(VORBISFILE_LIBS) $(VORBIS_LIBS) $(OGG_LIBS) $(WM_LIBS)
++snd_render_default_la_LIBADD= $(VORBISFILE_LIBS) $(VORBIS_LIBS) $(OGG_LIBS) $(WM_LIBS)
+ snd_render_default_la_DEPENDENCIES=
+ endif
+--- libs/console/Makefile.am.old 2011-04-18 12:56:29.253106265 +0200
++++ libs/console/Makefile.am 2011-04-18 12:57:28.784383855 +0200
+@@ -3,14 +3,13 @@
+ AM_CFLAGS= @PREFER_PIC@
+ INCLUDES= -I$(top_srcdir)/include
+ plugin_version= 1:0:0
+-plugin_ldflags= @plugin_ldflags@
++plugin_ldflags= @plugin_ldflags@ -module
+ plugin_libadd= @plugin_libadd@
+ EXEEXT=
+
+ lib_LTLIBRARIES= libQFconsole.la
+-plugin_PROGRAMS= @SERVER_PLUGIN_TARGETS@ @CLIENT_PLUGIN_TARGETS@
+-noinst_PROGRAMS= @SERVER_PLUGIN_STATIC@ @CLIENT_PLUGIN_STATIC@
+-EXTRA_PROGRAMS= console_server.la console_client.la
++plugin_LTLIBRARIES= @SERVER_PLUGIN_TARGETS@ @CLIENT_PLUGIN_TARGETS@
++EXTRA_LTLIBRARIES= console_server.la console_client.la
+
+ common_sources= \
+ buffer.c complete.c console.c inputline.c list.c filelist.c view.c
+@@ -22,9 +21,9 @@
+ libQFconsole_la_SOURCES= $(common_sources)
+
+ console_client_la_LDFLAGS= $(plugin_ldflags)
+-console_client_la_LDADD= $(plugin_libadd)
++console_client_la_LIBADD= $(plugin_libadd)
+ console_client_la_SOURCES= $(client_sources)
+
+ console_server_la_LDFLAGS= $(plugin_ldflags)
+-console_server_la_LDADD= $(CURSES_LIBS) $(plugin_libadd)
++console_server_la_LIBADD= $(CURSES_LIBS) $(plugin_libadd)
+ console_server_la_SOURCES= $(server_sources)
diff --git a/games-fps/quakeforge/files/quakeforge-0.5.5-keys.patch b/games-fps/quakeforge/files/quakeforge-0.5.5-keys.patch
new file mode 100644
index 000000000000..fb027dd03c04
--- /dev/null
+++ b/games-fps/quakeforge/files/quakeforge-0.5.5-keys.patch
@@ -0,0 +1,103 @@
+--- nq/source/sys_sdl.c.old 2007-01-14 12:34:48.000000000 +0100
++++ nq/source/sys_sdl.c 2007-01-14 12:35:43.000000000 +0100
+@@ -63,6 +63,7 @@
+ #include "QF/console.h"
+ #include "QF/qargs.h"
+ #include "QF/sys.h"
++#include "QF/progs.h"
+
+ #include "client.h"
+ #include "compat.h"
+@@ -107,6 +108,9 @@
+ #endif
+ }
+
++extern void Key_Progs_Init (progs_t *pr);
++void (*x)() = Key_Progs_Init;
++
+ #ifndef SDL_main
+ # define SDL_main main
+ #endif
+--- qw/source/cl_sys_sdl.c.old 2007-01-14 12:29:25.000000000 +0100
++++ qw/source/cl_sys_sdl.c 2007-01-14 12:30:50.000000000 +0100
+@@ -63,6 +63,7 @@
+ #include "QF/console.h"
+ #include "QF/qargs.h"
+ #include "QF/sys.h"
++#include "QF/progs.h"
+
+ #include "client.h"
+ #include "compat.h"
+@@ -108,6 +109,9 @@
+ #endif
+ }
+
++extern void Key_Progs_Init (progs_t *pr);
++void (*x)() = Key_Progs_Init;
++
+ #ifndef SDL_main
+ # define SDL_main main
+ #endif
+--- qw/source/cl_sys_unix.c.old 2007-01-14 12:33:15.000000000 +0100
++++ qw/source/cl_sys_unix.c 2007-01-14 12:34:02.000000000 +0100
+@@ -56,6 +56,7 @@
+ #include "QF/console.h"
+ #include "QF/qargs.h"
+ #include "QF/sys.h"
++#include "QF/progs.h"
+
+ #include "host.h"
+ #include "netchan.h"
+@@ -73,6 +74,9 @@
+
+ int skipframes;
+
++extern void Key_Progs_Init (progs_t *pr);
++void (*x)() = Key_Progs_Init;
++
+ int
+ main (int c, const char *v[])
+ {
+--- nq/source/sys_unix.c.old 2007-01-14 13:01:20.000000000 +0100
++++ nq/source/sys_unix.c 2007-01-14 13:01:38.000000000 +0100
+@@ -69,6 +69,9 @@
+ fcntl (0, F_SETFL, fcntl (0, F_GETFL, 0) & ~O_NONBLOCK);
+ }
+
++extern void Key_Progs_Init (progs_t *pr);
++void (*x)() = Key_Progs_Init;
++
+ int
+ main (int c, const char *v[])
+ {
+--- configure.old 2007-01-14 14:06:22.000000000 +0100
++++ configure 2007-01-14 14:06:43.000000000 +0100
+@@ -22733,7 +22733,7 @@
+ int
+ main ()
+ {
+-void *(*foo)(size_t) = alloca;
++void *foo = alloca(sizeof(void));
+ ;
+ return 0;
+ }
+@@ -32304,7 +32304,7 @@
+
+
+ if test "x$BUILD_SW" = xyes; then
+- VID_REND_NOINST_TARGETS="$VID_REND_NOINST_TARGETS libQFrenderer_sw.la"
++ VID_REND_TARGETS="$VID_REND_TARGETS libQFrenderer_sw.la"
+ VID_MODEL_TARGETS="$VID_MODEL_TARGETS libQFmodels_sw.la"
+ fi
+ if test "x$BUILD_SW32" = xyes; then
+--- libs/video/renderer/Makefile.in.old 2007-01-14 15:00:14.000000000 +0100
++++ libs/video/renderer/Makefile.in 2007-01-14 15:02:08.000000000 +0100
+@@ -409,7 +409,7 @@
+ libQFrenderer_gl_la_LIBADD = gl/libgl.la
+ libQFrenderer_gl_la_SOURCES = $(common_sources)
+ libQFrenderer_gl_la_DEPENDENCIES = gl/libgl.la
+-libQFrenderer_sw_la_LDFLAGS = @STATIC@
++libQFrenderer_sw_la_LDFLAGS = -version-info 1:0:0 -rpath $(libdir)
+ libQFrenderer_sw_la_LIBADD = sw/libsw.la
+ libQFrenderer_sw_la_SOURCES = $(common_sources)
+ libQFrenderer_sw_la_DEPENDENCIES = sw/libsw.la
diff --git a/games-fps/quakeforge/files/quakeforge-0.5.5-libc.patch b/games-fps/quakeforge/files/quakeforge-0.5.5-libc.patch
new file mode 100644
index 000000000000..0161c606c891
--- /dev/null
+++ b/games-fps/quakeforge/files/quakeforge-0.5.5-libc.patch
@@ -0,0 +1,17 @@
+http://quake.git.sourceforge.net/git/gitweb.cgi?p=quake/quakeforge;a=commit;h=cdf5ef256583dea6caa34464f6a82222cc43d2fd
+
+--- libs/net/nc/net_udp6.c
++++ libs/net/nc/net_udp6.c
+@@ -111,10 +111,10 @@ static __attribute__ ((used)) const char rcsid[] =
+ # define MAXHOSTNAMELEN 512
+ #endif
+
+-#ifdef __GLIBC__ // glibc macro
++#if defined(__GLIBC__) && !defined(s6_addr32) // glibc macro
+ # define s6_addr32 in6_u.u6_addr32
+ # if ! __GLIBC_PREREQ (2,2)
+-# define ss_family __ss_family
++# define ss_family __ss_family
+ # endif
+ #endif
+
diff --git a/games-fps/quakeforge/files/quakeforge-0.5.5-no-page-size.patch b/games-fps/quakeforge/files/quakeforge-0.5.5-no-page-size.patch
new file mode 100644
index 000000000000..c18ec176fbf8
--- /dev/null
+++ b/games-fps/quakeforge/files/quakeforge-0.5.5-no-page-size.patch
@@ -0,0 +1,15 @@
+do not use kernel headers' asm/page.h
+
+http://bugs.gentoo.org/187083
+
+--- libs/video/targets/vid_fbdev.c
++++ libs/video/targets/vid_fbdev.c
+@@ -58,7 +58,7 @@
+ #include <signal.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+-#include <asm/page.h>
++#define PAGE_MASK sysconf(_SC_PAGE_SIZE)
+ #include <linux/kd.h>
+ #include <linux/vt.h>
+ #include <sys/stat.h>
diff --git a/games-fps/quakeforge/files/quakeforge-0.5.5-noWerror.patch b/games-fps/quakeforge/files/quakeforge-0.5.5-noWerror.patch
new file mode 100644
index 000000000000..5f3674155143
--- /dev/null
+++ b/games-fps/quakeforge/files/quakeforge-0.5.5-noWerror.patch
@@ -0,0 +1,65 @@
+--- tools/qwaq/Makefile.am.old 2009-11-20 15:10:00.000000000 +0100
++++ tools/qwaq/Makefile.am 2009-11-20 15:10:22.000000000 +0100
+@@ -6,7 +6,7 @@
+
+ QFCC_DEP=$(top_builddir)/tools/qfcc/source/qfcc$(EXEEXT)
+ QFCC=$(top_builddir)/tools/qfcc/source/qfcc
+-QCFLAGS=-qq -g -Werror --advanced
++QCFLAGS=-qq -g --advanced
+
+ if BUILD_QWAQ
+ qwaq=qwaq
+--- ruamoko/lib/Makefile.am.old 2009-11-20 15:12:00.000000000 +0100
++++ ruamoko/lib/Makefile.am 2009-11-20 15:12:17.000000000 +0100
+@@ -3,7 +3,7 @@
+ pkglibdir=$(libdir)/ruamoko
+
+ QFCC=$(top_builddir)/tools/qfcc/source/qfcc$(EXEEXT)
+-QCFLAGS=-qq -g -Werror
++QCFLAGS=-qq -g
+ QCPPFLAGS=$(INCLUDES)
+ PAK=$(top_builddir)/tools/pak/pak$(EXEEXT)
+ RANLIB=touch
+--- ruamoko/game/Makefile.am.old 2009-11-20 15:13:05.000000000 +0100
++++ ruamoko/game/Makefile.am 2009-11-20 15:13:21.000000000 +0100
+@@ -7,7 +7,7 @@
+
+ QFCC_DEP=$(top_builddir)/tools/qfcc/source/qfcc$(EXEEXT)
+ QFCC=$(QFCC_DEP)
+-QCFLAGS=-qq -g -Werror
++QCFLAGS=-qq -g
+ QCPPFLAGS=-I. -I$(srcdir) -I$(top_builddir)/ruamoko/include -I$(top_srcdir)/ruamoko/include
+ GZIP=if echo $@ | grep -q .gz; then gzip -f `basename $@ .gz`; if test -f `basename $@ .dat.gz`.sym; then gzip -f `basename $@ .dat.gz`.sym; fi; fi
+ if HAVE_ZLIB
+--- ruamoko/gui/Makefile.am.old 2009-11-20 15:13:52.000000000 +0100
++++ ruamoko/gui/Makefile.am 2009-11-20 15:14:09.000000000 +0100
+@@ -3,7 +3,7 @@
+ pkglibdir=$(libdir)/ruamoko
+
+ QFCC=$(top_builddir)/tools/qfcc/source/qfcc$(EXEEXT)
+-QCFLAGS=-qq -g -Werror
++QCFLAGS=-qq -g
+ QCPPFLAGS=$(INCLUDES)
+ PAK=$(top_builddir)/tools/pak/pak$(EXEEXT)
+ RANLIB=touch
+--- ruamoko/cl_menu/Makefile.am.old 2009-11-20 15:14:37.000000000 +0100
++++ ruamoko/cl_menu/Makefile.am 2009-11-20 15:15:03.000000000 +0100
+@@ -5,7 +5,7 @@
+
+ QFCC_DEP=$(top_builddir)/tools/qfcc/source/qfcc$(EXEEXT)
+ QFCC=$(QFCC_DEP)
+-QCFLAGS=-qq -g -Werror
++QCFLAGS=-qq -g
+ QCPPFLAGS=-I. -I$(srcdir) -I$(top_builddir)/ruamoko/include -I$(top_srcdir)/ruamoko/include -I$(top_builddir)/include -I$(top_srcdir)/include
+ GZIP=if echo $@ | grep -q .gz; then gzip -f `basename $@ .gz`; if test -f `basename $@ .dat.gz`.sym; then gzip -f `basename $@ .dat.gz`.sym; fi; fi
+ if HAVE_ZLIB
+--- configure.ac.old 2009-11-20 15:15:35.000000000 +0100
++++ configure.ac 2009-11-20 15:16:04.000000000 +0100
+@@ -92,6 +92,7 @@
+ AC_PROG_RANLIB
+ AC_LIBTOOL_WIN32_DLL
+ AM_PROG_LIBTOOL
++AM_PROG_AS
+
+ AC_PROG_YACC
+ if echo $YACC | grep -v bison > /dev/null; then
diff --git a/games-fps/quakeforge/files/quakeforge-0.5.5-zlib-1.2.6.patch b/games-fps/quakeforge/files/quakeforge-0.5.5-zlib-1.2.6.patch
new file mode 100644
index 000000000000..eae1e1e44785
--- /dev/null
+++ b/games-fps/quakeforge/files/quakeforge-0.5.5-zlib-1.2.6.patch
@@ -0,0 +1,14 @@
+http://bugs.gentoo.org/421547
+http://quake.git.sourceforge.net/git/gitweb.cgi?p=quake/quakeforge;a=commit;h=d8a37bc7910366904ef4559bef3b13feec378113
+
+--- libs/util/quakeio.c
++++ libs/util/quakeio.c
+@@ -80,7 +80,7 @@ static __attribute__ ((used)) const char rcsid[] =
+ struct QFile_s {
+ FILE *file;
+ #ifdef HAVE_ZLIB
+- gzFile *gzfile;
++ gzFile gzfile;
+ #endif
+ off_t size;
+ off_t start;
diff --git a/games-fps/quakeforge/files/quakeforge-0.7.2-gentoo.patch b/games-fps/quakeforge/files/quakeforge-0.7.2-gentoo.patch
new file mode 100644
index 000000000000..396d7322b453
--- /dev/null
+++ b/games-fps/quakeforge/files/quakeforge-0.7.2-gentoo.patch
@@ -0,0 +1,33 @@
+--- nq/source/Makefile.am.old 2012-11-18 16:57:56.658388682 +0100
++++ nq/source/Makefile.am 2012-11-18 16:58:11.470268607 +0100
+@@ -138,7 +138,7 @@
+ nq_x11_SOURCES= sys_unix.c
+ nq_x11_LDADD= $(nq_x11_libs) \
+ $(VIDMODE_LIBS) $(DGA_LIBS) $(X_LIBS) -lX11 \
+- $(X_EXTRA_LIBS) $(X_SHM_LIB) $(NET_LIBS)
++ $(X_EXTRA_LIBS) $(X_SHM_LIB) $(NET_LIBS) -ldl
+ nq_x11_LDFLAGS= $(common_ldflags)
+ nq_x11_DEPENDENCIES= $(nq_x11_libs)
+
+--- qw/source/Makefile.am.old 2012-11-18 17:10:59.148172332 +0100
++++ qw/source/Makefile.am 2012-11-18 17:11:55.866876762 +0100
+@@ -168,7 +168,7 @@
+ qw_client_x11_SOURCES= cl_sys_unix.c
+ qw_client_x11_LDADD= $(qw_client_x11_libs) \
+ $(VIDMODE_LIBS) $(DGA_LIBS) $(X_LIBS) -lX11 \
+- $(X_EXTRA_LIBS) $(X_SHM_LIB) $(NET_LIBS) $(LIBCURL_LIBS)
++ $(X_EXTRA_LIBS) $(X_SHM_LIB) $(NET_LIBS) $(LIBCURL_LIBS) -ldl
+ qw_client_x11_LDFLAGS= $(common_ldflags)
+ qw_client_x11_DEPENDENCIES= $(qw_client_x11_libs)
+
+--- tools/qwaq/Makefile.am.old 2012-11-18 17:15:16.024714317 +0100
++++ tools/qwaq/Makefile.am 2012-11-18 17:15:41.955749660 +0100
+@@ -38,7 +38,7 @@
+ qwaq_x11_SOURCES=qwaq.c qwaq-bi.c
+ qwaq_x11_LDADD= $(qwaq_x11_libs) $(QWAQ_LIBS) \
+ $(VIDMODE_LIBS) $(DGA_LIBS) $(X_LIBS) -lX11 \
+- $(X_EXTRA_LIBS) $(X_SHM_LIB)
++ $(X_EXTRA_LIBS) $(X_SHM_LIB) -ldl
+ qwaq_x11_LDFLAGS=
+ qwaq_x11_DEPENDENCIES= $(qwaq_x11_libs) $(QWAQ_DEPS)
+