* 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.
		
			
				
	
	
		
			53 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| 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
 | |
|  
 |