summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--games-fps/darkplaces/darkplaces-20140513-r1.ebuild2
-rw-r--r--games-fps/darkplaces/files/darkplaces-20140513-gcc-11.patch43
2 files changed, 45 insertions, 0 deletions
diff --git a/games-fps/darkplaces/darkplaces-20140513-r1.ebuild b/games-fps/darkplaces/darkplaces-20140513-r1.ebuild
index 7934dcbe22d..4ac04b2d8f3 100644
--- a/games-fps/darkplaces/darkplaces-20140513-r1.ebuild
+++ b/games-fps/darkplaces/darkplaces-20140513-r1.ebuild
@@ -68,6 +68,8 @@ BDEPEND="
virtual/pkgconfig
"
+PATCHES=("${FILESDIR}"/${P}-gcc-11.patch)
+
dir="/usr/share/quake1"
opengl_client() {
diff --git a/games-fps/darkplaces/files/darkplaces-20140513-gcc-11.patch b/games-fps/darkplaces/files/darkplaces-20140513-gcc-11.patch
new file mode 100644
index 00000000000..5670b053cef
--- /dev/null
+++ b/games-fps/darkplaces/files/darkplaces-20140513-gcc-11.patch
@@ -0,0 +1,43 @@
+https://bugs.gentoo.org/786288
+
+Attach alignment annotation to strict, not it's typedef alias.
+--- a/dpsoftrast.c
++++ b/dpsoftrast.c
+@@ -177,7 +177,7 @@ typedef ALIGN(struct DPSOFTRAST_State_Triangle_s
+ float w[3];
+ ALIGN(float attribs[DPSOFTRAST_ARRAY_TOTAL][3][4]);
+ }
+-DPSOFTRAST_State_Triangle);
++) DPSOFTRAST_State_Triangle;
+
+ #define DPSOFTRAST_CALCATTRIB(triangle, span, data, slope, arrayindex) { \
+ slope = _mm_load_ps((triangle)->attribs[arrayindex][0]); \
+@@ -209,7 +209,7 @@ typedef ALIGN(struct DPSOFTRAST_State_Span_s
+ int depthbase; // depthbuffer value at x (add depthslope*startx to get first pixel's depthbuffer value)
+ int depthslope; // depthbuffer value pixel delta
+ }
+-DPSOFTRAST_State_Span);
++) DPSOFTRAST_State_Span;
+
+ #define DPSOFTRAST_DRAW_MAXSPANS 1024
+ #define DPSOFTRAST_DRAW_MAXTRIANGLES 128
+@@ -299,8 +299,8 @@ typedef ALIGN(struct DPSOFTRAST_State_Thread_s
+ DPSOFTRAST_State_Span spans[DPSOFTRAST_DRAW_MAXSPANS];
+ DPSOFTRAST_State_Triangle triangles[DPSOFTRAST_DRAW_MAXTRIANGLES];
+ unsigned char pixelmaskarray[DPSOFTRAST_DRAW_MAXSPANLENGTH+4]; // LordHavoc: padded to allow some termination bytes
+-}
+-DPSOFTRAST_State_Thread);
++})
++DPSOFTRAST_State_Thread;
+
+ typedef ALIGN(struct DPSOFTRAST_State_s
+ {
+@@ -358,7 +358,7 @@ typedef ALIGN(struct DPSOFTRAST_State_s
+
+ DPSOFTRAST_State_Command_Pool commandpool;
+ }
+-DPSOFTRAST_State);
++) DPSOFTRAST_State;
+
+ DPSOFTRAST_State dpsoftrast;
+