mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-26 14:28:15 -05:00
gnu: freeglut: Fix build with GCC 10.
* gnu/packages/patches/freeglut-gcc-compat.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/gl.scm (freeglut)[source](patches): New field.
This commit is contained in:
parent
bc0a78c003
commit
03b6cfa0c2
3 changed files with 55 additions and 0 deletions
|
@ -1018,6 +1018,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/fplll-std-fenv.patch \
|
||||
%D%/packages/patches/freedink-engine-fix-sdl-hints.patch \
|
||||
%D%/packages/patches/freebayes-devendor-deps.patch \
|
||||
%D%/packages/patches/freeglut-gcc-compat.patch \
|
||||
%D%/packages/patches/freeimage-unbundle.patch \
|
||||
%D%/packages/patches/fuse-overlapping-headers.patch \
|
||||
%D%/packages/patches/gajim-honour-GAJIM_PLUGIN_PATH.patch \
|
||||
|
|
|
@ -107,6 +107,7 @@ (define-public freeglut
|
|||
(uri (string-append
|
||||
"mirror://sourceforge/freeglut/freeglut/"
|
||||
version "/freeglut-" version ".tar.gz"))
|
||||
(patches (search-patches "freeglut-gcc-compat.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"0s6sk49q8ijgbsrrryb7dzqx2fa744jhx1wck5cz5jia2010w06l"))))
|
||||
|
|
53
gnu/packages/patches/freeglut-gcc-compat.patch
Normal file
53
gnu/packages/patches/freeglut-gcc-compat.patch
Normal file
|
@ -0,0 +1,53 @@
|
|||
Fix build failure with GCC 10.
|
||||
|
||||
Taken from upstream:
|
||||
https://github.com/dcnieho/FreeGLUT/commit/b9998bbc1e1c329f6bf69c24606a2be7a4973b8c
|
||||
|
||||
diff --git a/src/fg_gl2.c b/src/fg_gl2.c
|
||||
--- a/src/fg_gl2.c
|
||||
+++ b/src/fg_gl2.c
|
||||
@@ -27,6 +27,20 @@
|
||||
#include "fg_internal.h"
|
||||
#include "fg_gl2.h"
|
||||
|
||||
+#ifndef GL_ES_VERSION_2_0
|
||||
+/* GLES2 has the corresponding entry points built-in, and these fgh-prefixed
|
||||
+ * names are defined in fg_gl2.h header to reference them, for any other case,
|
||||
+ * define them as function pointers here.
|
||||
+ */
|
||||
+FGH_PFNGLGENBUFFERSPROC fghGenBuffers;
|
||||
+FGH_PFNGLDELETEBUFFERSPROC fghDeleteBuffers;
|
||||
+FGH_PFNGLBINDBUFFERPROC fghBindBuffer;
|
||||
+FGH_PFNGLBUFFERDATAPROC fghBufferData;
|
||||
+FGH_PFNGLENABLEVERTEXATTRIBARRAYPROC fghEnableVertexAttribArray;
|
||||
+FGH_PFNGLDISABLEVERTEXATTRIBARRAYPROC fghDisableVertexAttribArray;
|
||||
+FGH_PFNGLVERTEXATTRIBPOINTERPROC fghVertexAttribPointer;
|
||||
+#endif
|
||||
+
|
||||
void FGAPIENTRY glutSetVertexAttribCoord3(GLint attrib) {
|
||||
if (fgStructure.CurrentWindow != NULL)
|
||||
fgStructure.CurrentWindow->Window.attribute_v_coord = attrib;
|
||||
diff --git a/src/fg_gl2.h b/src/fg_gl2.h
|
||||
--- a/src/fg_gl2.h
|
||||
+++ b/src/fg_gl2.h
|
||||
@@ -67,13 +67,13 @@ typedef void (APIENTRY *FGH_PFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint index);
|
||||
typedef void (APIENTRY *FGH_PFNGLDISABLEVERTEXATTRIBARRAYPROC) (GLuint);
|
||||
typedef void (APIENTRY *FGH_PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);
|
||||
|
||||
-FGH_PFNGLGENBUFFERSPROC fghGenBuffers;
|
||||
-FGH_PFNGLDELETEBUFFERSPROC fghDeleteBuffers;
|
||||
-FGH_PFNGLBINDBUFFERPROC fghBindBuffer;
|
||||
-FGH_PFNGLBUFFERDATAPROC fghBufferData;
|
||||
-FGH_PFNGLENABLEVERTEXATTRIBARRAYPROC fghEnableVertexAttribArray;
|
||||
-FGH_PFNGLDISABLEVERTEXATTRIBARRAYPROC fghDisableVertexAttribArray;
|
||||
-FGH_PFNGLVERTEXATTRIBPOINTERPROC fghVertexAttribPointer;
|
||||
+extern FGH_PFNGLGENBUFFERSPROC fghGenBuffers;
|
||||
+extern FGH_PFNGLDELETEBUFFERSPROC fghDeleteBuffers;
|
||||
+extern FGH_PFNGLBINDBUFFERPROC fghBindBuffer;
|
||||
+extern FGH_PFNGLBUFFERDATAPROC fghBufferData;
|
||||
+extern FGH_PFNGLENABLEVERTEXATTRIBARRAYPROC fghEnableVertexAttribArray;
|
||||
+extern FGH_PFNGLDISABLEVERTEXATTRIBARRAYPROC fghDisableVertexAttribArray;
|
||||
+extern FGH_PFNGLVERTEXATTRIBPOINTERPROC fghVertexAttribPointer;
|
||||
|
||||
# endif
|
||||
|
Loading…
Reference in a new issue