summaryrefslogtreecommitdiff
path: root/games-fps/wolfgl
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /games-fps/wolfgl
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'games-fps/wolfgl')
-rw-r--r--games-fps/wolfgl/Manifest10
-rw-r--r--games-fps/wolfgl/files/0.93-gcc.patch209
-rw-r--r--games-fps/wolfgl/files/0.93-gcc4.patch80
-rw-r--r--games-fps/wolfgl/files/0.93-sample-rate.patch11
-rw-r--r--games-fps/wolfgl/files/0.93-sprite.patch82
-rw-r--r--games-fps/wolfgl/files/wolfgl-0.93-as-needed.patch11
-rw-r--r--games-fps/wolfgl/metadata.xml15
-rw-r--r--games-fps/wolfgl/wolfgl-0.93-r2.ebuild56
8 files changed, 474 insertions, 0 deletions
diff --git a/games-fps/wolfgl/Manifest b/games-fps/wolfgl/Manifest
new file mode 100644
index 000000000000..ab3156b98e53
--- /dev/null
+++ b/games-fps/wolfgl/Manifest
@@ -0,0 +1,10 @@
+AUX 0.93-gcc.patch 5604 BLAKE2B 56f6bae7ee24f69bf628bbb81fbc664673b233675ac2bffa358a31a21161b0e00507c2c8bacf0b6c3dd65e42413c3904d8bfd8afeddeabbcc8890d0aa86e00a2 SHA512 5de8a4fb661b8b1ca4c7abbc56f2dd676333157ccf459297fd455e15132b5e5356d3ea8dde418c0848cb521dac5ad9ac017252829eae5936a2d6abf4fcfdf841
+AUX 0.93-gcc4.patch 2095 BLAKE2B 792a92d13add55505d0268cfa6764b46e5b7d7370e6cbb157624d4db9025ed6ac3a646a92bb6f4dd37de324d167bf1ebbf9936704e6ea3713d853e282ad2c361 SHA512 7b7452a22f4bdf4dedc1ba2ed46f8c629a0f0596d8c518f49f28ba01a346b5e6d388f80c265eb16d17ca3fd7b9b9fa4c15580e8b89968a11c2e8614ffafb191e
+AUX 0.93-sample-rate.patch 344 BLAKE2B a0f7fd0673a2be1d24b27a340f3465e654352f65438bec8e58a953086d10c97d466c14432d9a8612c7fdbd5e6a8edead08a5a8cf36bd41490b09dbc3e21cc3ce SHA512 63a7d2b18bde6f3b443aa6cb32bc6f9be0c094836231e97495e0f8d553a4c38166036a2233af37bde6f2b2198d81d4e27f3a10393d9a4ae74a802c2881e20bbc
+AUX 0.93-sprite.patch 2318 BLAKE2B 1fd1deb499b6c3ee513064dbba5573b3cae31c50f2bda4ba0cebc6e09f216e7debc82aac0d5367ab4518c9a682671f8abb9eba5a3932ea8505101372993681e9 SHA512 8904f5470e84b416cdfdd7acabc89122885600f759a938cd81b1d96fe067c8c82378400e5ddf225eb774b24c5ac18e6e7b8f6d27681c3462130f2122b2f53c3a
+AUX wolfgl-0.93-as-needed.patch 397 BLAKE2B f51e7d40ead7ae01ba2f362ccd33107128841bc61d751529cfc697dc316c350a795670e3ec205f3bf27a8dc0324921e27248345bd5fc4d7d3fb507e9fa178851 SHA512 cdcd1aa914a6fe48e3477b24f051fb36d255542031abb2d2f46a9bb0da081b0093d1efb1b35b55cbfeec1ef6e989102e45bfb6f14246923263e102b2f0920bae
+DIST sdmdata.zip 557147 BLAKE2B a70a821941175aecfd3edd7746ed54e13181863ddb25bfcc77bf354b1366541b71462739543a1ba9aa548a754b8a88db60eff0cf5d8313097f6d41cb62892b3a SHA512 cf6eae7027acbe6e3da6985639eb36def04254790f6449f5353ffe5edd13a73c01b0a35ef9873f2e97d09ec59e632337c5b3a1a26185befdf4dfa5a161267076
+DIST wolfdata.zip 564771 BLAKE2B 0c1343cae6fbcb695930899fd2ba9e5798af47f4bec984fa15cdca85c9d96e5dd9ed6e5ff2b7bc489251e5be6342ed94a8cb7c626f39564a8599d5d3fe5eb6d2 SHA512 2b14c477e54d14fc543e146fa699f55dabb003bd3bac1e89422a49391cf8f29b5db6967b09c08a82c612f73fe71d624902c180d81481ad42f011f51448652a43
+DIST wolfgl-0.93.tbz2 146132 BLAKE2B b9dbf442be01a516c5cbf1146892d610df881109ca163ec7c1c79bd9ea1c328d8e9401ba5615e1be9c2df5df3940b83fdbe36154c4f0429b617dc6208b6ccf78 SHA512 834dda2eb4e099d70fad52e40760886208c5ca60e687024f1fe51088b94c8cdea7c058d326daa61966946bb70feeee97d0b7fb7c284e98fdec0eb8c503de7e30
+EBUILD wolfgl-0.93-r2.ebuild 1410 BLAKE2B fe736a982fb871c177ab9fcc27a19af1144bd1dbe91e1e5fbd0853adb9ea81850c7d5d812f16bac78a110c1285aa4fe84db2fff6f98fdf468cd4e3a0270d9fe5 SHA512 ec96d3f9c8a716c359314e179727c0512b55e12c706d3ddc3d35348fcf00e8f43f11da17f7500d3551eac18ee6978b42e398df6398cebeccda5ed713b876ec86
+MISC metadata.xml 451 BLAKE2B 0b88acdbf3a154c982180c671b1e5ee23fdac3b2c36650e7b425cffb752dbe209d8beb010047fdd5a8e654740c49453c5b6eb556d68bc9b7b1ffa583e83b1286 SHA512 2623437ddb8f1ebc5290d5076894cf2059df12f31a22043de4cb3246648076f7ba6dc923fde07812038a2405836d57d4f9171f5c80fcfc498ae452616128a8e8
diff --git a/games-fps/wolfgl/files/0.93-gcc.patch b/games-fps/wolfgl/files/0.93-gcc.patch
new file mode 100644
index 000000000000..a22923393678
--- /dev/null
+++ b/games-fps/wolfgl/files/0.93-gcc.patch
@@ -0,0 +1,209 @@
+diff -abur a/common/console.c b/common/console.c
+--- a/common/console.c 2000-09-27 16:19:44.000000000 +0200
++++ b/common/console.c 2003-09-11 19:59:46.037562040 +0200
+@@ -3,6 +3,14 @@
+ #include "id_us.h"
+ #include "console.h"
+
++#ifdef _LINUX
++#include <string.h>
++#endif
++
++#ifdef _LINUX
++#include <string.h>
++#endif
++
+ static char con_lines[32][45]; // buffer
+ static int con_active; // console is visible
+ static int con_current; // current line
+diff -abur a/common/id_in.h b/common/id_in.h
+--- a/common/id_in.h 2000-09-27 16:04:26.000000000 +0200
++++ b/common/id_in.h 2003-09-11 19:32:14.368653880 +0200
+@@ -178,6 +178,7 @@
+
+ void IN_Startup();
+ void IN_Shutdown();
++void IN_KeyEvent(unsigned char key);
+ void IN_Default(wbool gotit, ControlType in);
+ void IN_ClearKeysDown();
+ void IN_ReadControl(int player, ControlInfo *info);
+diff -abur a/common/id_vh.c b/common/id_vh.c
+--- a/common/id_vh.c 2000-09-26 17:39:36.000000000 +0200
++++ b/common/id_vh.c 2003-09-11 19:24:57.183116184 +0200
+@@ -230,3 +230,4 @@
+
+ }
+ */
+\ No newline at end of file
++
+diff -abur a/common/opengl.c b/common/opengl.c
+--- a/common/opengl.c 2000-09-27 16:04:26.000000000 +0200
++++ b/common/opengl.c 2003-09-11 19:22:35.622636648 +0200
+@@ -1,5 +1,10 @@
+ #include <stdio.h>
+ #include <stdlib.h>
++
++#ifdef _LINUX
++#include <string.h>
++#endif
++
+ #include "system.h"
+ #include "opengl.h"
+ #include "wl_def.h"
+diff -abur a/common/wl_act2.c b/common/wl_act2.c
+--- a/common/wl_act2.c 2000-09-27 16:04:26.000000000 +0200
++++ b/common/wl_act2.c 2003-09-11 19:19:45.511497472 +0200
+@@ -1,5 +1,9 @@
+ // WL_ACT2.C
+
++#ifdef _LINUX
++#include <stdlib.h>
++#endif
++
+ #include "wl_def.h"
+
+ //=============================================================================
+diff -abur a/common/wl_agent.c b/common/wl_agent.c
+--- a/common/wl_agent.c 2003-09-11 20:04:40.738760648 +0200
++++ b/common/wl_agent.c 2003-09-11 19:57:06.860760592 +0200
+@@ -3,6 +3,10 @@
+ #include <string.h>
+ #include "wl_def.h"
+
++#ifdef _LINUX
++#include <stdlib.h>
++#endif
++
+ //=============================================================================
+ // LOCAL CONSTANTS
+ //=============================================================================
+diff -abur a/common/wl_draw.c b/common/wl_draw.c
+--- a/common/wl_draw.c 2003-09-11 20:04:40.739760496 +0200
++++ b/common/wl_draw.c 2003-09-11 19:20:33.512200256 +0200
+@@ -2,6 +2,11 @@
+
+ #include <stdio.h>
+ #include <stdlib.h>
++
++#ifdef _LINUX
++#include <string.h>
++#endif
++
+ #include "system.h"
+ #include "opengl.h"
+ #include "wl_def.h"
+diff -abur a/common/wl_menu.c b/common/wl_menu.c
+--- a/common/wl_menu.c 2000-09-27 16:04:27.000000000 +0200
++++ b/common/wl_menu.c 2003-09-11 20:07:38.892677136 +0200
+@@ -5,6 +5,10 @@
+ //
+ ////////////////////////////////////////////////////////////////////
+
++#ifdef _LINUX
++#include "../linux/input.h"
++#endif
++
+ #include <string.h>
+ #include "opengl.h"
+ #include "wl_def.h"
+diff -abur a/common/wl_menu.h b/common/wl_menu.h
+--- a/common/wl_menu.h 2000-09-26 17:38:31.000000000 +0200
++++ b/common/wl_menu.h 2003-09-11 18:31:41.593919584 +0200
+@@ -233,3 +233,4 @@
+ void NonShareware();
+ /*int GetYorN(int x,int y,int pic);
+ */
+\ No newline at end of file
++
+diff -abur a/common/wl_play.c b/common/wl_play.c
+--- a/common/wl_play.c 2000-09-27 16:04:27.000000000 +0200
++++ b/common/wl_play.c 2003-09-11 19:40:31.293109880 +0200
+@@ -1,6 +1,11 @@
+ // WL_PLAY.C
+
+ #include <memory.h>
++
++#ifdef _LINUX
++#include "../linux/input.h"
++#endif
++
+ #include "wl_def.h"
+ #include "system.h"
+
+diff -abur a/common/wl_state.c b/common/wl_state.c
+--- a/common/wl_state.c 2000-09-27 16:04:27.000000000 +0200
++++ b/common/wl_state.c 2003-09-11 19:23:26.895841936 +0200
+@@ -2,6 +2,10 @@
+
+ #include "wl_def.h"
+
++#ifdef _LINUX
++#include <stdlib.h>
++#endif
++
+ //=============================================================================
+ // GLOBAL VARIABLES
+ //=============================================================================
+diff -abur a/common/wl_text.c b/common/wl_text.c
+--- a/common/wl_text.c 2000-09-26 17:40:23.000000000 +0200
++++ b/common/wl_text.c 2003-09-11 19:19:00.110399488 +0200
+@@ -4,6 +4,10 @@
+ #include "wl_def.h"
+ #include "system.h"
+
++#ifdef _LINUX
++#include <string.h>
++#endif
++
+ #ifndef SPEAR
+
+ void FreeMusic(); // WL_MENU.C
+diff -abur a/linux/sound.c b/linux/sound.c
+--- a/linux/sound.c 2000-09-26 17:57:48.000000000 +0200
++++ b/linux/sound.c 2003-09-11 19:55:16.702507192 +0200
+@@ -9,6 +9,8 @@
+ #include <stdlib.h>
+
+ #include <sys/time.h>
++#include <string.h>
++#include <errno.h>
+
+ #include <fcntl.h>
+ #include <unistd.h>
+diff -abur a/linux/sound.h b/linux/sound.h
+--- a/linux/sound.h 2000-09-26 17:57:48.000000000 +0200
++++ b/linux/sound.h 2003-09-11 19:44:03.663824624 +0200
+@@ -1,5 +1,8 @@
+ void S_LoadSound(int id, void* data, long length);
+ void S_PlaySound(int id, int pan);
++void S_UpdateSound();
++void S_InitSound();
++void S_ShutDownSound();
+
+ extern int DigitalDevice;
+
+diff -abur a/linux/system.c b/linux/system.c
+--- a/linux/system.c 2000-09-26 17:57:48.000000000 +0200
++++ b/linux/system.c 2003-09-11 19:42:14.955350824 +0200
+@@ -1,9 +1,12 @@
+ #include <stdio.h>
++#include <string.h>
++#include <unistd.h>
+ #include <sys/time.h>
+ #include <X11/keysym.h>
+ #include <GL/gl.h>
+ #include <GL/glx.h>
+ #include "wl_def.h"
++#include "sound.h"
+
+ int screen_width, screen_height;
+ Display *dpy;
+@@ -117,7 +120,7 @@
+ visinfo = glXChooseVisual( dpy, scrnum, attrib );
+ if (!visinfo) {
+ printf("Error: couldn't get an RGB, Double-buffered visual\n");
+- exit(1);
++ _exit(1);
+ }
+
+ /* window attributes */
diff --git a/games-fps/wolfgl/files/0.93-gcc4.patch b/games-fps/wolfgl/files/0.93-gcc4.patch
new file mode 100644
index 000000000000..5dcccd76049b
--- /dev/null
+++ b/games-fps/wolfgl/files/0.93-gcc4.patch
@@ -0,0 +1,80 @@
+diff -ur wolfgl-0.93-orig/common/id_ca.c wolfgl-0.93/common/id_ca.c
+--- wolfgl-0.93-orig/common/id_ca.c 2006-01-28 16:59:10.000000000 -0500
++++ wolfgl-0.93/common/id_ca.c 2006-01-28 17:04:26.000000000 -0500
+@@ -252,6 +252,7 @@
+ {
+ unsigned short ch,chhigh,count,offset;
+ unsigned short *copyptr, *inptr, *outptr;
++ unsigned char *uc_inptr;
+
+ length/=2;
+
+@@ -268,13 +269,17 @@
+ if (!count)
+ {
+ // have to insert a word containing the tag byte
+- ch |= *((unsigned char*)inptr)++;
++ uc_inptr = (unsigned char*)inptr;
++ ch |= *(uc_inptr)++;
++ inptr = (unsigned short *)uc_inptr;
+ *outptr++ = ch;
+ length--;
+ }
+ else
+ {
+- offset = *((unsigned char*)inptr)++;
++ uc_inptr = (unsigned char*)inptr;
++ offset = *(uc_inptr)++;
++ inptr = (unsigned short *)uc_inptr;
+ copyptr = outptr - offset;
+ length -= count;
+ while (count--)
+@@ -287,7 +292,9 @@
+ if (!count)
+ {
+ // have to insert a word containing the tag byte
+- ch |= *((unsigned char*)inptr)++;
++ uc_inptr = (unsigned char*)inptr;
++ ch |= *(uc_inptr)++;
++ inptr = (unsigned short *)uc_inptr;
+ *outptr++ = ch;
+ length --;
+ }
+@@ -806,7 +813,7 @@
+
+ for (i=0;i<NUMCHUNKS;i++)
+ if (grsegs[i])
+- MM_SetPurge (&(memptr)grsegs[i],3);
++ MM_SetPurge ((memptr)&grsegs[i],3);
+ ca_levelbit<<=1;
+ ca_levelnum++;
+ }
+@@ -862,7 +869,7 @@
+
+ for (i = 0; i < NUMCHUNKS; i++)
+ if (grsegs[i])
+- MM_SetPurge (&(memptr)grsegs[i],3);
++ MM_SetPurge ((memptr)&grsegs[i],3);
+ }
+
+ //===========================================================================
+diff -ur wolfgl-0.93-orig/common/wl_game.c wolfgl-0.93/common/wl_game.c
+--- wolfgl-0.93-orig/common/wl_game.c 2006-01-28 16:59:10.000000000 -0500
++++ wolfgl-0.93/common/wl_game.c 2006-01-28 17:07:08.000000000 -0500
+@@ -545,13 +545,13 @@
+ {
+ // solid wall
+ tilemap[x][y] = tile;
+- (unsigned short)actorat[x][y] = tile;
++ actorat[x][y] = tile;
+ }
+ else
+ {
+ // area floor
+ tilemap[x][y] = 0;
+- (unsigned short)actorat[x][y] = 0;
++ actorat[x][y] = 0;
+ }
+ }
+
+
diff --git a/games-fps/wolfgl/files/0.93-sample-rate.patch b/games-fps/wolfgl/files/0.93-sample-rate.patch
new file mode 100644
index 000000000000..6e7156a1c716
--- /dev/null
+++ b/games-fps/wolfgl/files/0.93-sample-rate.patch
@@ -0,0 +1,11 @@
+--- a/linux/sound.c 2003-09-11 20:28:32.032170976 +0200
++++ b/linux/sound.c 2003-09-11 20:28:45.111182664 +0200
+@@ -64,7 +64,7 @@
+ #define BUFMUL 4
+ #define MIXBUFFERSIZE (SAMPLECOUNT*BUFMUL)
+
+-#define SAMPLERATE 11025 // Hz
++#define SAMPLERATE 8000 // Hz
+ #define SAMPLESIZE 2 // 16bit
+
+ // The actual output device.
diff --git a/games-fps/wolfgl/files/0.93-sprite.patch b/games-fps/wolfgl/files/0.93-sprite.patch
new file mode 100644
index 000000000000..135eb8e26eed
--- /dev/null
+++ b/games-fps/wolfgl/files/0.93-sprite.patch
@@ -0,0 +1,82 @@
+--- a/common/wl_agent.c 2003-09-11 20:39:02.674298800 +0200
++++ b/common/wl_agent.c 2003-09-11 20:42:17.229721880 +0200
+@@ -919,32 +919,31 @@
+ viewdist = 0x7fffffffl;
+ closest = NULL;
+
+-// while (1)
++ while (1)
+ {
+ oldclosest = closest;
+
+ for (check=ob->next ; check ; check=check->next)
+ if ((check->flags & FL_SHOOTABLE)
+- //&&
++ &&
+ // (check->flags & FL_VISABLE) &&
+-// (abs(check->viewx - centerx) < shootdelta)
++ (abs(check->viewx - centerx) < shootdelta)
+ )
+-// {
++ {
+ if (CheckLine(check))
+-// if (check->transx < viewdist)
++ if (check->transx < viewdist)
+ {
+-// viewdist = check->transx;
++ viewdist = check->transx;
+ closest = check;
+- break;
+ }
+-// }
++ }
+
+ if (closest == oldclosest)
+ return; // no more targets, all missed
+
+ // trace a line from player to enemey
+-// if (CheckLine(closest))
+-// break;
++ if (CheckLine(closest))
++ break;
+ }
+
+ // hit something
+--- a/common/wl_draw.c 2003-09-11 20:43:26.473195272 +0200
++++ b/common/wl_draw.c 2003-09-11 20:46:57.859059736 +0200
+@@ -877,7 +877,7 @@
+ tilespot = &tilemap[0][0]+spotloc;
+
+ // could be in any of the nine surrounding tiles
+- if ((*visspot) ||
++ if (1 || (*visspot) ||
+ (*(visspot-1) && !*(tilespot-1)) ||
+ (*(visspot+1) && !*(tilespot+1)) ||
+ (*(visspot-65) && !*(tilespot-65)) ||
+@@ -980,6 +980,8 @@
+
+ for (obj = player->next; obj; obj = obj->next)
+ {
++ int sprite;
++
+ if (!areabyplayer[obj->areanumber])
+ continue;
+ if (!gamestates[obj->state].shapenum)
+@@ -989,10 +991,14 @@
+ glTranslated((float)obj->x/(1<<16), (float)obj->y/(1<<16), 0);
+ glRotated(-player->angle, 0,0,1);
+
+- if (texture_index[PMSpriteStart+gamestates[obj->state].shapenum] == 0)
+- CreateSprite(PMSpriteStart+gamestates[obj->state].shapenum);
++ sprite = gamestates[obj->state].shapenum;
++ if (gamestates[obj->state].rotate)
++ sprite += CalcRotate(obj);
++
++ if (texture_index[PMSpriteStart+sprite] == 0)
++ CreateSprite(PMSpriteStart+sprite);
+ else
+- glBindTexture(GL_TEXTURE_2D, texture_index[PMSpriteStart+gamestates[obj->state].shapenum]);
++ glBindTexture(GL_TEXTURE_2D, texture_index[PMSpriteStart+sprite]);
+
+ glBegin(GL_QUADS);
+ glTexCoord2f(0,0);
diff --git a/games-fps/wolfgl/files/wolfgl-0.93-as-needed.patch b/games-fps/wolfgl/files/wolfgl-0.93-as-needed.patch
new file mode 100644
index 000000000000..f9da771e1d79
--- /dev/null
+++ b/games-fps/wolfgl/files/wolfgl-0.93-as-needed.patch
@@ -0,0 +1,11 @@
+--- a/linux/Makefile 2009-02-06 14:27:11.000000000 +0100
++++ b/linux/Makefile 2009-02-06 14:27:40.000000000 +0100
+@@ -19,7 +19,7 @@
+ @echo 'Do not call this file directly'
+
+ wolfgl: $(LINUX_OBJS) $(COMMON_OBJS)
+- $(CC) $(LINK_FLAGS) $(COMMON_OBJS) $(LINUX_OBJS) -o $(OUTDIR)/wolfgl
++ $(CC) $(LDFLAGS) $(COMMON_OBJS) $(LINUX_OBJS) $(LINK_FLAGS) -o $(OUTDIR)/wolfgl
+
+ # common directory
+
diff --git a/games-fps/wolfgl/metadata.xml b/games-fps/wolfgl/metadata.xml
new file mode 100644
index 000000000000..92093a34cff1
--- /dev/null
+++ b/games-fps/wolfgl/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>chainsaw@gentoo.org</email>
+ <name>Tony Vroon</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">wolfgl</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-fps/wolfgl/wolfgl-0.93-r2.ebuild b/games-fps/wolfgl/wolfgl-0.93-r2.ebuild
new file mode 100644
index 000000000000..a76843aa4066
--- /dev/null
+++ b/games-fps/wolfgl/wolfgl-0.93-r2.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+#ECVS_SERVER="wolfgl.cvs.sourceforge.net:/cvsroot/wolfgl"
+#ECVS_MODULE="wolfgl"
+#inherit cvs
+
+inherit eutils
+
+DESCRIPTION="Wolfenstein and Spear of Destiny port using OpenGL"
+HOMEPAGE="http://wolfgl.sourceforge.net/"
+SRC_URI="mirror://gentoo/${P}.tbz2
+ mirror://sourceforge/wolfgl/wolfdata.zip
+ mirror://sourceforge/wolfgl/sdmdata.zip"
+# mirror://sourceforge/wolfgl/wolfglx-wl6-${PV}.zip
+# mirror://sourceforge/wolfgl/wolfglx-sod-${PV}.zip
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~x86"
+IUSE=""
+
+RDEPEND="virtual/opengl"
+DEPEND="${RDEPEND}
+ app-arch/unzip
+ x11-base/xorg-proto"
+
+PATCHES=(
+ "${FILESDIR}"/${PV}-gcc.patch
+ "${FILESDIR}"/${PV}-sample-rate.patch
+ "${FILESDIR}"/${PV}-sprite.patch
+ "${FILESDIR}"/${P}-as-needed.patch
+ "${FILESDIR}"/${PV}-gcc4.patch
+)
+
+src_compile() {
+ emake -j1 CFLAGS="${CFLAGS}" DATADIR="/usr/share/${PN}" || die "emake failed"
+}
+
+src_install() {
+ newbin linux/SDM/wolfgl wolfgl-sdm
+ newbin linux/SOD/wolfgl wolfgl-sod
+ newbin linux/WL1/wolfgl wolfgl-wl1
+ newbin linux/WL6/wolfgl wolfgl-wl6
+
+ insinto /usr/share/${PN}
+ doins "${WORKDIR}"/*.{sdm,wl1}
+}
+
+pkg_postinst() {
+ elog "This installed the shareware data files for"
+ elog "Wolfenstein 3D and Spear Of Destiny."
+ elog "If you wish to play the full versions just"
+ elog "copy the data files to /usr/share/${PN}/"
+}