gnu: allegro@4: Fix building with newer mesa.
authorEfraim Flashner <efraim@flashner.co.il>
Tue, 1 Jan 2019 08:20:18 +0000 (10:20 +0200)
committerEfraim Flashner <efraim@flashner.co.il>
Tue, 1 Jan 2019 08:55:41 +0000 (10:55 +0200)
* gnu/packages/game-development.scm (allegro@4)[source]: Add patch.
* gnu/packages/patches/allegro4-mesa-18.2.5-and-later.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.

gnu/local.mk
gnu/packages/game-development.scm
gnu/packages/patches/allegro4-mesa-18.2.5-and-later.patch [new file with mode: 0644]

index 050d174..64f2bf9 100644 (file)
@@ -577,6 +577,7 @@ dist_patch_DATA =                                           \
   %D%/packages/patches/aegisub-icu59-include-unistr.patch      \
   %D%/packages/patches/aegisub-boost68.patch                    \
   %D%/packages/patches/agg-am_c_prototype.patch                        \
+  %D%/packages/patches/allegro4-mesa-18.2.5-and-later.patch    \
   %D%/packages/patches/amule-crypto-6.patch                    \
   %D%/packages/patches/antiword-CVE-2014-8123.patch                    \
   %D%/packages/patches/antlr3-3_1-fix-java8-compilation.patch  \
index 8a29297..efca985 100644 (file)
@@ -4,7 +4,7 @@
 ;;; Copyright © 2015, 2018 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2015, 2018 Alex Kost <alezost@gmail.com>
 ;;; Copyright © 2015, 2016, 2017 David Thompson <davet@gnu.org>
-;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016, 2017 Kei Kebreau <kkebreau@posteo.net>
 ;;; Copyright © 2016, 2018 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2016, 2017, 2018 Julian Graham <joolean@gmail.com>
@@ -613,6 +613,8 @@ programming language.")
               (uri (string-append "https://github.com/liballeg/allegro5/"
                                   "releases/download/" version "/allegro-"
                                   version ".tar.gz"))
+              (patches (search-patches
+                        "allegro4-mesa-18.2.5-and-later.patch"))
               (sha256
                (base32
                 "1p0ghkmpc4kwij1z9rzxfv7adnpy4ayi0ifahlns1bdzgmbyf88v"))))
diff --git a/gnu/packages/patches/allegro4-mesa-18.2.5-and-later.patch b/gnu/packages/patches/allegro4-mesa-18.2.5-and-later.patch
new file mode 100644 (file)
index 0000000..a494482
--- /dev/null
@@ -0,0 +1,41 @@
+Fixes compilation with Mesa >= 18.2.5.
+
+Modified from upstream to work on allegro4:
+
+https://github.com/liballeg/allegro5/commit/a40d30e21802ecf5c9382cf34af9b01bd3781e47
+
+diff --git a/addons/allegrogl/include/alleggl.h b/addons/allegrogl/include/alleggl.h
+index 0f86a6768..652dd024e 100644
+--- a/addons/allegrogl/include/alleggl.h
++++ b/addons/allegrogl/include/alleggl.h
+@@ -103,10 +103,14 @@
+
+ /* HACK: Prevent both Mesa and SGI's broken headers from screwing us */
+ #define __glext_h_
++#define __gl_glext_h_
+ #define __glxext_h_
++#define __glx_glxext_h_
+ #include <GL/gl.h>
+ #undef  __glext_h_
++#undef  __gl_glext_h_
+ #undef  __glxext_h_
++#undef  __glx_glxext_h_
+
+ #endif /* ALLEGRO_MACOSX */
+
+diff --git a/addons/allegrogl/include/allegrogl/GLext/glx_ext_defs.h b/addons/allegrogl/include/allegrogl/GLext/glx_ext_defs.h
+index 49c502091..fba8aea5d 100644
+--- a/addons/allegrogl/include/allegrogl/GLext/glx_ext_defs.h
++++ b/addons/allegrogl/include/allegrogl/GLext/glx_ext_defs.h
+@@ -1,7 +1,9 @@
+ /* HACK: Prevent both Mesa and SGI's broken headers from screwing us */
+ #define __glxext_h_
++#define __glx_glxext_h_
+ #include <GL/glx.h>
+ #undef __glxext_h_
++#undef __glx_glxext_h_
+
+ #ifndef GLX_VERSION_1_3
+ #define _ALLEGRO_GLX_VERSION_1_3
+--
+2.20.0