diff options
-rw-r--r-- | gnu-system.am | 1 | ||||
-rw-r--r-- | gnu/packages/games.scm | 15 | ||||
-rw-r--r-- | gnu/packages/patches/irrlicht-mesa-10.patch | 46 |
3 files changed, 58 insertions, 4 deletions
diff --git a/gnu-system.am b/gnu-system.am index 2bc688b435..5acc6f4413 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -388,6 +388,7 @@ dist_patch_DATA = \ gnu/packages/patches/icecat-CVE-2014-1592.patch \ gnu/packages/patches/icecat-CVE-2014-1593.patch \ gnu/packages/patches/icecat-CVE-2014-1594.patch \ + gnu/packages/patches/irrlicht-mesa-10.patch \ gnu/packages/patches/jbig2dec-ignore-testtest.patch \ gnu/packages/patches/kmod-module-directory.patch \ gnu/packages/patches/libarchive-CVE-2013-0211.patch \ diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 2dadca620a..b8696a5379 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -611,14 +611,21 @@ buffers, and audio capture.") (and (zero? (system* "unzip" source)) ;; The actual source is buried a few directories deep. (chdir "irrlicht-1.8.1/source/Irrlicht/"))) - ;; No configure script - (alist-delete 'configure %standard-phases))) + (alist-cons-after + 'unpack 'apply-patch/mesa-10-fix + (lambda* (#:key inputs #:allow-other-keys) + (zero? (system* "patch" "--force" "-p3" "-i" + (assoc-ref inputs "patch/mesa-10-fix")))) + ;; No configure script + (alist-delete 'configure %standard-phases)))) #:tests? #f ; no check target #:make-flags '("CC=gcc" "sharedlib"))) (native-inputs - `(("unzip" ,unzip))) + `(("patch/mesa-10-fix" ,(search-patch "irrlicht-mesa-10.patch")) + ("unzip" ,unzip))) (inputs - `(("mesa" ,mesa))) + `(("mesa" ,mesa) + ("glu" ,glu))) (synopsis "3D game engine written in C++") (description "The Irrlicht Engine is a high performance realtime 3D engine written in diff --git a/gnu/packages/patches/irrlicht-mesa-10.patch b/gnu/packages/patches/irrlicht-mesa-10.patch new file mode 100644 index 0000000000..b567c384a3 --- /dev/null +++ b/gnu/packages/patches/irrlicht-mesa-10.patch @@ -0,0 +1,46 @@ +Patch to work around incompatibility between irrlicht-1.8.1 and mesa-10.x. +Upstream bug (fixed in trunk): http://sourceforge.net/p/irrlicht/bugs/429/ +Upstream fix: http://sourceforge.net/p/irrlicht/code/4810 +This patch copied from: +http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-games/irrlicht/files/irrlicht-1.8.1-mesa-10.x.patch?view=markup + +From 244d00280c1b082ca164f92337773e9e4e1a3898 Mon Sep 17 00:00:00 2001 +From: hiker <henrichsjoerg@mgail.com> +Date: Wed, 26 Feb 2014 11:13:03 +1100 +Subject: [PATCH] Applied patch from jpirie for fixing mesa 10 compilation + problems. + +--- irrlicht-1.8.1/source/Irrlicht/COpenGLExtensionHandler.h ++++ irrlicht-1.8.1/source/Irrlicht/COpenGLExtensionHandler.h +@@ -21,6 +21,7 @@ + #endif + #include <GL/gl.h> + #if defined(_IRR_OPENGL_USE_EXTPOINTER_) ++ typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode); + #include "glext.h" + #endif + #include "wglext.h" +@@ -35,6 +36,7 @@ + #endif + #include <OpenGL/gl.h> + #if defined(_IRR_OPENGL_USE_EXTPOINTER_) ++ typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode); + #include "glext.h" + #endif + #elif defined(_IRR_COMPILE_WITH_SDL_DEVICE_) && !defined(_IRR_COMPILE_WITH_X11_DEVICE_) +@@ -48,6 +50,7 @@ + #define NO_SDL_GLEXT + #include <SDL/SDL_video.h> + #include <SDL/SDL_opengl.h> ++ typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode); + #include "glext.h" + #else + #if defined(_IRR_OPENGL_USE_EXTPOINTER_) +@@ -60,6 +63,7 @@ + #include <GL/gl.h> + #include <GL/glx.h> + #if defined(_IRR_OPENGL_USE_EXTPOINTER_) ++ typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode); + #include "glext.h" + #undef GLX_ARB_get_proc_address // avoid problems with local glxext.h + #include "glxext.h" |