summaryrefslogtreecommitdiff
path: root/recipes/quake
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/quake')
-rw-r--r--recipes/quake/files/Makefile.patch10
-rw-r--r--recipes/quake/files/cl_parse.c.patch42
-rw-r--r--recipes/quake/files/host.c.patch29
-rw-r--r--recipes/quake/files/vid_sdl.c.patch11
-rw-r--r--recipes/quake/ioquake3_svn.bb24
-rw-r--r--recipes/quake/quake1_0.0.1.bb29
-rw-r--r--recipes/quake/quake2/quake2-arm.patch32
-rw-r--r--recipes/quake/quake2_svn.bb39
-rw-r--r--recipes/quake/quetoo_0.6.1.bb37
-rw-r--r--recipes/quake/sdlquake/sdlquake-no-x86-asm.diff35
-rw-r--r--recipes/quake/sdlquake_1.0.9.bb21
11 files changed, 309 insertions, 0 deletions
diff --git a/recipes/quake/files/Makefile.patch b/recipes/quake/files/Makefile.patch
new file mode 100644
index 0000000000..ba2c6cf997
--- /dev/null
+++ b/recipes/quake/files/Makefile.patch
@@ -0,0 +1,10 @@
+--- quake1src/Makefile~ 2004-10-07 14:29:11.000000000 +0100
++++ quake1src/Makefile 2005-05-06 16:04:50.808451944 +0100
+@@ -97,7 +92,6 @@
+ r_misc.o \
+ snd_mix.o \
+ wad.o \
+- cd_sdl.o \
+ crc.o \
+ d_sprite.o \
+ model.o \
diff --git a/recipes/quake/files/cl_parse.c.patch b/recipes/quake/files/cl_parse.c.patch
new file mode 100644
index 0000000000..a233d608a4
--- /dev/null
+++ b/recipes/quake/files/cl_parse.c.patch
@@ -0,0 +1,42 @@
+--- quake1src/cl_parse.c~ 2003-09-09 14:30:55.000000000 +0100
++++ quake1src/cl_parse.c 2005-05-06 16:02:13.228407752 +0100
+@@ -898,14 +898,14 @@
+
+ if (cl.paused)
+ {
+- CDAudio_Pause ();
++// CDAudio_Pause ();
+ #ifdef _WIN32
+ VID_HandlePause (true);
+ #endif
+ }
+ else
+ {
+- CDAudio_Resume ();
++// CDAudio_Resume ();
+ #ifdef _WIN32
+ VID_HandlePause (false);
+ #endif
+@@ -940,14 +940,14 @@
+ CL_ParseStaticSound ();
+ break;
+
+- case svc_cdtrack:
+- cl.cdtrack = MSG_ReadByte ();
+- cl.looptrack = MSG_ReadByte ();
+- if ( (cls.demoplayback || cls.demorecording) && (cls.forcetrack != -1) )
+- CDAudio_Play ((byte)cls.forcetrack, true);
+- else
+- CDAudio_Play ((byte)cl.cdtrack, true);
+- break;
++ case svc_cdtrack:
++ cl.cdtrack = MSG_ReadByte ();
++ cl.looptrack = MSG_ReadByte ();
++// if ( (cls.demoplayback || cls.demorecording) && (cls.forcetrack != -1) )
++// CDAudio_Play ((byte)cls.forcetrack, true);
++// else
++// CDAudio_Play ((byte)cl.cdtrack, true);
++ break;
+
+ case svc_intermission:
+ cl.intermission = 1;
diff --git a/recipes/quake/files/host.c.patch b/recipes/quake/files/host.c.patch
new file mode 100644
index 0000000000..e5e6457241
--- /dev/null
+++ b/recipes/quake/files/host.c.patch
@@ -0,0 +1,29 @@
+--- quake1src/host.c~ 2003-09-09 13:59:53.000000000 +0100
++++ quake1src/host.c 2005-05-06 16:13:50.193452960 +0100
+@@ -874,7 +874,7 @@
+ else
+ S_Update (vec3_origin, vec3_origin, vec3_origin, vec3_origin);
+
+- CDAudio_Update();
++// CDAudio_Update();
+
+ if (host_speeds.value)
+ {
+@@ -1074,7 +1074,7 @@
+ #endif
+
+ #endif // _WIN32
+- CDAudio_Init ();
++// CDAudio_Init ();
+ Sbar_Init ();
+ CL_Init ();
+ #ifdef _WIN32 // on non win32, mouse comes before video for security reasons
+@@ -1117,7 +1117,7 @@
+
+ Host_WriteConfiguration ();
+
+- CDAudio_Shutdown ();
++// CDAudio_Shutdown ();
+ NET_Shutdown ();
+ S_Shutdown();
+ IN_Shutdown ();
diff --git a/recipes/quake/files/vid_sdl.c.patch b/recipes/quake/files/vid_sdl.c.patch
new file mode 100644
index 0000000000..17d58d8164
--- /dev/null
+++ b/recipes/quake/files/vid_sdl.c.patch
@@ -0,0 +1,11 @@
+--- quake1src/vid_sdl.c~ 2003-09-24 02:18:50.000000000 +0100
++++ quake1src/vid_sdl.c 2005-05-08 15:30:10.663089128 +0100
+@@ -59,7 +59,7 @@
+ Uint32 flags;
+
+ // Load the SDL library
+- if (SDL_Init(SDL_INIT_VIDEO|SDL_INIT_AUDIO|SDL_INIT_CDROM) < 0)
++ if (SDL_Init(SDL_INIT_VIDEO|SDL_INIT_AUDIO) < 0)
+ Sys_Error("VID: Couldn't load SDL: %s", SDL_GetError());
+
+ // Set up display mode (width and height)
diff --git a/recipes/quake/ioquake3_svn.bb b/recipes/quake/ioquake3_svn.bb
new file mode 100644
index 0000000000..6d79ff1b23
--- /dev/null
+++ b/recipes/quake/ioquake3_svn.bb
@@ -0,0 +1,24 @@
+DESCRIPTION = "ioquake3 (or ioq3 for short,) aims to build upon id Software's Quake 3 source code release. "
+DEPENDS = "virtual/libsdl"
+LICENSE = "GPLv2"
+
+PV = "1.34+svnr${SRCREV}"
+SRCREV="1470"
+SRC_URI = "svn://svn.icculus.org/quake3/;module=trunk"
+
+S = "${WORKDIR}/trunk"
+
+export COMPILE_PLATFORM = "linux"
+export COMPILE_ARCH = "${TARGET_ARCH}"
+export USE_OPENAL=0
+
+do_install() {
+ install -d ${D}/${bindir}
+ install -d ${D}/${datadir}/games/quake3/baseq3
+ install -m 0755 ${S}/build/release-${COMPILE_PLATFORM}-${COMPILE_ARCH}/*.${COMPILE_ARCH} ${D}/${bindir}
+ cp -pPR ${S}/build/release-${COMPILE_PLATFORM}-${COMPILE_ARCH}/baseq3/*.so ${D}/${datadir}/games/quake3/baseq3/
+}
+
+
+FILES_${PN}-dbg += "${datadir}/games/quake3/baseq3/.debug"
+FILES_${PN} += "${datadir}/games/quake3/baseq3/"
diff --git a/recipes/quake/quake1_0.0.1.bb b/recipes/quake/quake1_0.0.1.bb
new file mode 100644
index 0000000000..86210e4621
--- /dev/null
+++ b/recipes/quake/quake1_0.0.1.bb
@@ -0,0 +1,29 @@
+DESCRIPTION = "Quake 1"
+SECTION = "x11/games"
+PRIORITY = "optional"
+DEPENDS = "libsdl-x11 libsdl-mixer libsdl-net zlib libxau"
+LICENSE = "GPL"
+PR = "r2"
+
+SRC_URI = "http://mirror1.pdaXrom.org/rc9/src/quake1src.tar.bz2 \
+ http://mirror1.pdaxrom.org/source/src/pak0.tar.gz \
+ file://Makefile.patch;patch=1 \
+ file://cl_parse.c.patch;patch=1 \
+ file://vid_sdl.c.patch;patch=1 \
+ file://host.c.patch;patch=1"
+
+S = "${WORKDIR}/quake1src"
+
+inherit autotools
+
+EXTRA_OEMAKE = "-e"
+
+export CFLAG = "-DHAVE_ZLIB -DNO_DEBUG -finline-function"
+export CXXFLAGS = "-DHAVE_ZLIB -DNO_DEBUG -finline-function"
+export LIBS = "-L${STAGING_LIBDIR} -lz -lm -lX11 -lXext -lXau `${STAGING_BINDIR_CROSS}/sdl-config --libs`"
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 quake ${D}${bindir}
+}
+
diff --git a/recipes/quake/quake2/quake2-arm.patch b/recipes/quake/quake2/quake2-arm.patch
new file mode 100644
index 0000000000..02b3cb2eae
--- /dev/null
+++ b/recipes/quake/quake2/quake2-arm.patch
@@ -0,0 +1,32 @@
+--- /tmp/sys_linux.c 2008-09-09 11:50:06.000000000 +0200
++++ trunk/src/linux/sys_linux.c 2008-09-09 11:48:06.113198000 +0200
+@@ -225,6 +225,8 @@
+ const char *gamename = "gameppc.so";
+ #elif defined __sparc__
+ const char *gamename = "gamesparc.so";
++#elif defined __arm__
++ const char *gamename = "gamearm.so";
+ #else
+ #error Unknown arch
+ #endif
+--- /tmp/Makefile 2008-09-09 11:52:05.000000000 +0200
++++ trunk/Makefile 2008-09-09 11:53:26.543198000 +0200
+@@ -60,18 +60,6 @@
+ # this nice line comes from the linux kernel makefile
+ ARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc/ -e s/sparc64/sparc/ -e s/arm.*/arm/ -e s/sa110/arm/ -e s/alpha/axp/)
+
+-ifneq ($(ARCH),x86_64)
+-ifneq ($(ARCH),i386)
+-ifneq ($(ARCH),axp)
+-ifneq ($(ARCH),ppc)
+-ifneq ($(ARCH),sparc)
+-$(error arch $(ARCH) is currently not supported)
+-endif
+-endif
+-endif
+-endif
+-endif
+-
+ CC=gcc
+
+ ifndef OPT_CFLAGS
diff --git a/recipes/quake/quake2_svn.bb b/recipes/quake/quake2_svn.bb
new file mode 100644
index 0000000000..31491ad419
--- /dev/null
+++ b/recipes/quake/quake2_svn.bb
@@ -0,0 +1,39 @@
+DESCRIPTION = "Icculus.org quake2 engine"
+LICENSE = "GPL"
+
+DEPENDS = "libsdl-x11 libxxf86dga"
+
+SRCREV = "205"
+PV = "0.16.1+svnr${SRCREV}"
+
+SRC_URI = "svn://svn.icculus.org/quake2/;module=trunk \
+ file://quake2-arm.patch;patch=1"
+
+S = "${WORKDIR}/trunk"
+
+export BUILD_SDLQUAKE2=YES
+export OSTYPE=Linux
+export ARCH=${TARGET_ARCH}
+export BASE_CFLAGS="${TARGET_CC_ARCH} -Wall -pipe -Dstricmp=strcasecmp"
+export OPT_CFLAGS="-O3 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations"
+
+do_compile() {
+ sed -i -e s:=gcc:=${TARGET_PREFIX}gcc:g Makefile
+ oe_runmake -e
+}
+
+do_install() {
+ install -d ${D}/${bindir}
+ echo -e "#!/bin/sh \ncd ${libdir}/quake2 && ./quake2 \$@ \n" > ${D}/${bindir}/quake2
+
+ ( cd ${S}/debug${TARGET_ARCH} ; ln -sf game$(uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc/ -e s/sparc64/sparc/ -e s/arm.*/arm/ -e s/sa110/arm/ -e s/alpha/axp/).so game${TARGET_ARCH}.so )
+ install -d ${D}/${libdir}/quake2/baseq2/ctf
+ install -m 0755 ${S}/debug${TARGET_ARCH}/game${TARGET_ARCH}.so ${D}/${libdir}/quake2/baseq2
+ install -m 0755 ${S}/debug${TARGET_ARCH}/ref*.so ${D}/${libdir}/quake2
+ install -m 0755 ${S}/debug${TARGET_ARCH}/ctf/*.so ${D}/${libdir}/quake2/baseq2/ctf
+ install -m 0755 ${S}/debug${TARGET_ARCH}/quake2 ${D}/${libdir}/quake2
+}
+
+FILES_${PN} += "${libdir}"
+FILES_${PN}-dbg += "${libdir}/quake2/baseq2/.debug ${libdir}/quake2/baseq2/ctf/.debug"
+
diff --git a/recipes/quake/quetoo_0.6.1.bb b/recipes/quake/quetoo_0.6.1.bb
new file mode 100644
index 0000000000..33a7075799
--- /dev/null
+++ b/recipes/quake/quetoo_0.6.1.bb
@@ -0,0 +1,37 @@
+DESCRIPTION = "Initially a fork of the Quake2Forge project, this engine aims to provide security and performance enhancements."
+LICENSE = "GPLv2"
+
+DEPENDS = "libsdl-x11 zlib mesa"
+SRC_URI = "http://tastyspleen.net/~jdolan/quetoo-${PV}.tar.bz2"
+
+inherit autotools pkgconfig
+
+
+EXTRA_OECONF = "\
+ --with-games=baseq2 \
+ --with-sdl \
+ --with-zlib \
+ "
+
+do_configure() {
+ for i in ctf qmass vanctf ; do
+ mkdir -p ${S}/data/$i/sound
+ mkdir -p ${S}/data/$i/maps
+ mkdir -p ${S}/src/$i
+ touch ${S}/data/$i/Makefile.in
+ touch ${S}/data/$i/sound/Makefile.in
+ touch ${S}/data/$i/maps/Makefile.in
+ touch ${S}/src/$i/Makefile.in
+ done
+
+ sed -i -e s:-Werror::g ${S}/configure
+ gnu-configize --force
+ oe_runconf
+ rm config.log
+}
+
+do_install_append() {
+ mv ${D}${bindir}/${TARGET_PREFIX}quetoo ${D}${bindir}/quetoo
+}
+
+FILES_${PN}-dbg += "${libdir}/quetoo/baseq2/.debug"
diff --git a/recipes/quake/sdlquake/sdlquake-no-x86-asm.diff b/recipes/quake/sdlquake/sdlquake-no-x86-asm.diff
new file mode 100644
index 0000000000..e87094b1da
--- /dev/null
+++ b/recipes/quake/sdlquake/sdlquake-no-x86-asm.diff
@@ -0,0 +1,35 @@
+--- /tmp/Makefile.am 2008-08-11 20:31:09.000000000 +0200
++++ sdlquake-1.0.9/Makefile.am 2008-08-11 20:55:00.263198000 +0200
+@@ -33,7 +33,6 @@
+ crc.h \
+ cvar.c \
+ cvar.h \
+- d_copy.S \
+ d_edge.c \
+ d_fill.c \
+ d_iface.h \
+@@ -48,7 +47,6 @@
+ d_sprite.c \
+ d_surf.c \
+ d_zpoint.c \
+- dosasm.S \
+ dosisms.h \
+ draw.c \
+ draw.h \
+@@ -103,7 +101,6 @@
+ r_sprite.c \
+ r_surf.c \
+ r_vars.c \
+- r_varsa.S \
+ render.h \
+ resource.h \
+ sbar.c \
+@@ -136,7 +133,7 @@
+ world.h \
+ zone.c \
+ zone.h \
+- $(X86_SRCS) $(NONX86_SRCS)
++ $(NONX86_SRCS)
+
+ X86_SRCS = \
+ snd_mixa.S \
diff --git a/recipes/quake/sdlquake_1.0.9.bb b/recipes/quake/sdlquake_1.0.9.bb
new file mode 100644
index 0000000000..2fe26993f0
--- /dev/null
+++ b/recipes/quake/sdlquake_1.0.9.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "Quake 1"
+SECTION = "x11/games"
+PRIORITY = "optional"
+DEPENDS = "libsdl-x11 libsdl-mixer libsdl-net zlib libxau"
+LICENSE = "GPL"
+
+SRC_URI = "http://www.libsdl.org/projects/quake/src/sdlquake-${PV}.tar.gz \
+ file://sdlquake-no-x86-asm.diff;patch=1 \
+ "
+
+inherit autotools
+
+# Fix up broken autofoo
+do_configure_prepend() {
+ touch INSTALL NEWS README AUTHORS ChangeLog
+ echo "AM_PROG_AS" >> configure.in
+}
+
+
+
+