1
0
Sergei Ilinykh 9 сар өмнө
parent
commit
94510bfe74

+ 58 - 0
games-action/oolite/files/ignore-callback-incompat.patch

@@ -0,0 +1,58 @@
+From f930b3a9671a4c01d6ffc539c2996140aa0625fb Mon Sep 17 00:00:00 2001
+From: AnotherCommander <nikbar2004@gmail.com>
+Date: Fri, 14 Jun 2024 13:40:55 +0300
+Subject: [PATCH] Fixed Arch Linux compile error with GCC 14.
+
+Closes #484
+---
+ src/Core/OOPolygonSprite.m | 23 +++++++++++++----------
+ 1 file changed, 13 insertions(+), 10 deletions(-)
+
+diff --git a/src/Core/OOPolygonSprite.m b/src/Core/OOPolygonSprite.m
+index 5ada443ea..216d67f15 100644
+--- a/src/Core/OOPolygonSprite.m
++++ b/src/Core/OOPolygonSprite.m
+@@ -115,6 +115,9 @@ - (BOOL) loadPolygons:(NSArray *)dataArray outlineWidth:(float)outlineWidth;
+ 
+ static void APIENTRY ErrorCallback(GLenum error, void *polygonData);
+ 
++// this is needed to maintain compatibility with GCC 14+
++typedef GLvoid (*TessFuncPtr)();
++
+ 
+ @implementation OOPolygonSprite
+ 
+@@ -283,11 +286,11 @@ - (BOOL) loadPolygons:(NSArray *)dataArray outlineWidth:(float)outlineWidth
+ 	dataArray = DataArrayToPoints(&polygonData, dataArray);
+ 	
+ 	/*** Tesselate polygon fill ***/
+-	gluTessCallback(tesselator, GLU_TESS_BEGIN_DATA, TessBeginCallback);
+-	gluTessCallback(tesselator, GLU_TESS_VERTEX_DATA, TessVertexCallback);
+-	gluTessCallback(tesselator, GLU_TESS_END_DATA, TessEndCallback);
+-	gluTessCallback(tesselator, GLU_TESS_ERROR_DATA, ErrorCallback);
+-	gluTessCallback(tesselator, GLU_TESS_COMBINE_DATA, TessCombineCallback);
++	gluTessCallback(tesselator, GLU_TESS_BEGIN_DATA, (TessFuncPtr)TessBeginCallback);
++	gluTessCallback(tesselator, GLU_TESS_VERTEX_DATA, (TessFuncPtr)TessVertexCallback);
++	gluTessCallback(tesselator, GLU_TESS_END_DATA, (TessFuncPtr)TessEndCallback);
++	gluTessCallback(tesselator, GLU_TESS_ERROR_DATA, (TessFuncPtr)ErrorCallback);
++	gluTessCallback(tesselator, GLU_TESS_COMBINE_DATA, (TessFuncPtr)TessCombineCallback);
+ 	
+ 	gluTessBeginPolygon(tesselator, &polygonData);
+ 	SVGDumpBeginGroup(&polygonData, @"Fill");
+@@ -351,11 +354,11 @@ - (BOOL) loadPolygons:(NSArray *)dataArray outlineWidth:(float)outlineWidth
+ 	polygonData.generatingOutline = YES;
+ #endif
+ 	
+-	gluTessCallback(tesselator, GLU_TESS_BEGIN_DATA, TessBeginCallback);
+-	gluTessCallback(tesselator, GLU_TESS_VERTEX_DATA, TessVertexCallback);
+-	gluTessCallback(tesselator, GLU_TESS_END_DATA, TessEndCallback);
+-	gluTessCallback(tesselator, GLU_TESS_ERROR_DATA, ErrorCallback);
+-	gluTessCallback(tesselator, GLU_TESS_COMBINE_DATA, TessCombineCallback);
++	gluTessCallback(tesselator, GLU_TESS_BEGIN_DATA, (TessFuncPtr)TessBeginCallback);
++	gluTessCallback(tesselator, GLU_TESS_VERTEX_DATA, (TessFuncPtr)TessVertexCallback);
++	gluTessCallback(tesselator, GLU_TESS_END_DATA, (TessFuncPtr)TessEndCallback);
++	gluTessCallback(tesselator, GLU_TESS_ERROR_DATA, (TessFuncPtr)ErrorCallback);
++	gluTessCallback(tesselator, GLU_TESS_COMBINE_DATA, (TessFuncPtr)TessCombineCallback);
+ 	gluTessProperty(tesselator, GLU_TESS_WINDING_RULE, GLU_TESS_WINDING_POSITIVE);
+ 	
+ 	gluTessBeginPolygon(tesselator, &polygonData);

+ 1 - 1
games-action/oolite/oolite-1.90.ebuild

@@ -39,7 +39,7 @@ RDEPEND="virtual/opengl
 DEPEND="${RDEPEND}
 		gnustep-base/gnustep-make[-libobjc2]"
 
-PATCHES=( "${FILESDIR}/${P}-gentoo.patch" )
+PATCHES=( "${FILESDIR}/${P}-gentoo.patch"  "${FILESDIR}/ignore-callback-incompat.patch" )
 
 src_prepare() {
 	gnustep-base_src_prepare