commit:     bc2ba1cd6fdc5a7ad7d161efb21652b73c6b207e
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 13 18:51:51 2021 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Sun Jun 13 18:51:58 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bc2ba1cd

games-fps/darkplaces: tweak for gcc-11

Reported-by: Toralf Förster
Closes: https://bugs.gentoo.org/786288
Package-Manager: Portage-3.0.19, Repoman-3.0.3
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>

 games-fps/darkplaces/darkplaces-20140513-r1.ebuild |  2 +
 .../files/darkplaces-20140513-gcc-11.patch         | 43 ++++++++++++++++++++++
 2 files changed, 45 insertions(+)

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;
+ 

Reply via email to