summaryrefslogtreecommitdiffstats
path: root/source/x/libglvnd
diff options
context:
space:
mode:
Diffstat (limited to 'source/x/libglvnd')
-rwxr-xr-xsource/x/libglvnd/libglvnd.SlackBuild9
-rw-r--r--source/x/libglvnd/patches/193.patch100
-rw-r--r--source/x/libglvnd/patches/51233cc52cbcbe25f8461830913c06f5b5bc9508.patch62
-rw-r--r--source/x/libglvnd/patches/6f52473dac08c44b081b792874b4ce73122096da.patch28
4 files changed, 198 insertions, 1 deletions
diff --git a/source/x/libglvnd/libglvnd.SlackBuild b/source/x/libglvnd/libglvnd.SlackBuild
index 5f5f314e8..d58a38cf8 100755
--- a/source/x/libglvnd/libglvnd.SlackBuild
+++ b/source/x/libglvnd/libglvnd.SlackBuild
@@ -27,7 +27,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=libglvnd
VERSION=${VERSION:-$(echo libglvnd-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d- | rev)}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-4}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@@ -77,10 +77,17 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
+# Fix headers:
+zcat $CWD/patches/6f52473dac08c44b081b792874b4ce73122096da.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/51233cc52cbcbe25f8461830913c06f5b5bc9508.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/193.patch.gz | patch -p1 --verbose || exit 1
+
if [ ! -r configure ]; then
NOCONFIGURE=1 ./autogen.sh
fi
+autoreconf -vif
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
diff --git a/source/x/libglvnd/patches/193.patch b/source/x/libglvnd/patches/193.patch
new file mode 100644
index 000000000..51b8fd7b4
--- /dev/null
+++ b/source/x/libglvnd/patches/193.patch
@@ -0,0 +1,100 @@
+From 158cd95a086398b60310227f2feca31838576750 Mon Sep 17 00:00:00 2001
+From: Kyle Brenneman <kbrenneman@nvidia.com>
+Date: Fri, 18 Oct 2019 09:30:30 -0600
+Subject: [PATCH 1/2] EGL: Set EGL_NO_X11 macro if --disable-x11 is used.
+
+Change the configure script so that it will set the macro EGL_NO_X11 if X11 is
+disabled instead of setting USE_X11 if X11 is enabled.
+
+Using EGL_NO_X11 means that EGL/eglplatform.h won't try to include the Xlib
+headers.
+---
+ configure.ac | 6 +++---
+ src/EGL/libegl.c | 8 ++++----
+ 2 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index eb68d3b..ebe497c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -174,10 +174,10 @@ dnl
+ dnl Checks for libraries.
+ AX_PTHREAD()
+
+-if test "x$enable_x11" = "xyes" ; then
++if test "x$enable_x11" != "xyes" ; then
+ PKG_CHECK_MODULES([X11], [x11])
+- AC_DEFINE([USE_X11], 1,
+- [Define to 1 if X11 support is enabled.])
++ AC_DEFINE([EGL_NO_X11], 1,
++ [Define to 1 if X11 support is disabled.])
+ fi
+ if test "x$enable_glx" = "xyes" ; then
+ PKG_CHECK_MODULES([XEXT], [xext])
+diff --git a/src/EGL/libegl.c b/src/EGL/libegl.c
+index 5f742cb..c0e4dd8 100644
+--- a/src/EGL/libegl.c
++++ b/src/EGL/libegl.c
+@@ -36,7 +36,7 @@
+ #include <unistd.h>
+ #include <sys/mman.h>
+
+-#if defined(USE_X11)
++#if !defined(EGL_NO_X11)
+ #include <X11/Xlib.h>
+ #endif
+
+@@ -180,7 +180,7 @@ static EGLBoolean IsGbmDisplay(void *native_display)
+
+ static EGLBoolean IsX11Display(void *dpy)
+ {
+-#if defined(USE_X11)
++#if !defined(EGL_NO_X11)
+ void *alloc;
+ void *handle;
+ void *XAllocID = NULL;
+@@ -197,9 +197,9 @@ static EGLBoolean IsX11Display(void *dpy)
+ }
+
+ return (XAllocID != NULL && XAllocID == alloc);
+-#else // defined(USE_X11)
++#else // !defined(EGL_NO_X11)
+ return EGL_FALSE;
+-#endif // defined(USE_X11)
++#endif // !defined(EGL_NO_X11)
+ }
+
+ static EGLBoolean IsWaylandDisplay(void *native_display)
+--
+2.22.0
+
+
+From 0b09d6222265be115d3102348b5da68ae0e92f77 Mon Sep 17 00:00:00 2001
+From: Kyle Brenneman <kbrenneman@nvidia.com>
+Date: Sat, 19 Oct 2019 08:38:25 -0600
+Subject: [PATCH 2/2] configure: Fix the pkg-config check for Xlib.
+
+Fix an error in the previous commit so that the configure script runs
+pkg-config for x11 when it's enabled, not when it's disabled.
+---
+ configure.ac | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index ebe497c..31188b9 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -174,8 +174,9 @@ dnl
+ dnl Checks for libraries.
+ AX_PTHREAD()
+
+-if test "x$enable_x11" != "xyes" ; then
++if test "x$enable_x11" = "xyes" ; then
+ PKG_CHECK_MODULES([X11], [x11])
++else
+ AC_DEFINE([EGL_NO_X11], 1,
+ [Define to 1 if X11 support is disabled.])
+ fi
+--
+2.22.0
+
diff --git a/source/x/libglvnd/patches/51233cc52cbcbe25f8461830913c06f5b5bc9508.patch b/source/x/libglvnd/patches/51233cc52cbcbe25f8461830913c06f5b5bc9508.patch
new file mode 100644
index 000000000..4d8f2bbae
--- /dev/null
+++ b/source/x/libglvnd/patches/51233cc52cbcbe25f8461830913c06f5b5bc9508.patch
@@ -0,0 +1,62 @@
+From 51233cc52cbcbe25f8461830913c06f5b5bc9508 Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Thu, 17 Oct 2019 11:51:37 -0400
+Subject: [PATCH] egl: Sync with Khronos
+
+ commit de3a5e867d906a04a5c37ee0d89e7f01d3598eb9
+ Author: Ken Russell <kbrussel@alum.mit.edu>
+ Date: Sat Oct 12 05:44:43 2019 -0700
+
+ Reserve enums 0x34A0..0x34AF for ANGLE project. (#93)
+
+Closes: https://gitlab.freedesktop.org/glvnd/libglvnd/issues/193
+---
+ include/EGL/eglplatform.h | 6 ++++++
+ src/generate/xml/egl.xml | 7 +++++--
+ 2 files changed, 11 insertions(+), 2 deletions(-)
+
+diff --git a/include/EGL/eglplatform.h b/include/EGL/eglplatform.h
+index 29ab288..5ab49c1 100644
+--- a/include/EGL/eglplatform.h
++++ b/include/EGL/eglplatform.h
+@@ -116,6 +116,12 @@ typedef intptr_t EGLNativeDisplayType;
+ typedef intptr_t EGLNativePixmapType;
+ typedef intptr_t EGLNativeWindowType;
+
++#elif defined(__unix__) && defined(EGL_NO_X11)
++
++typedef void *EGLNativeDisplayType;
++typedef khronos_uintptr_t EGLNativePixmapType;
++typedef khronos_uintptr_t EGLNativeWindowType;
++
+ #elif defined(__unix__) || defined(USE_X11)
+
+ /* X11 (tentative) */
+diff --git a/src/generate/xml/egl.xml b/src/generate/xml/egl.xml
+index c27f172..6bc2ea2 100644
+--- a/src/generate/xml/egl.xml
++++ b/src/generate/xml/egl.xml
+@@ -1002,6 +1002,9 @@
+ <enum value="0x3490" name="EGL_GL_COLORSPACE_DISPLAY_P3_PASSTHROUGH_EXT"/>
+ <unused start="0x3491" end="0x349F"/>
+ </enums>
++ <enums namespace="EGL" start="0x34A0" end="0x34AF" vendor="ANGLE" comment="Reserved for Ken Russell - ANGLE (via github pull request)">
++ <unused start="0x34A0" end="0x34AF"/>
++ </enums>
+
+ <!-- Please remember that new enumerant allocations must be obtained by
+ request to the Khronos API registrar (see comments at the top of this
+@@ -1012,8 +1015,8 @@
+
+ <!-- Reservable for future use. To generate a new range, allocate multiples
+ of 16 starting at the lowest available point in this block. -->
+- <enums namespace="EGL" start="0x34A0" end="0x3FFF" vendor="KHR" comment="Reserved for future use">
+- <unused start="0x34A0" end="0x3FFF"/>
++ <enums namespace="EGL" start="0x34B0" end="0x3FFF" vendor="KHR" comment="Reserved for future use">
++ <unused start="0x34B0" end="0x3FFF"/>
+ </enums>
+
+ <enums namespace="EGL" start="0x8F70" end="0x8F7F" vendor="HI" comment="For Mark Callow, Khronos bug 4055. Shared with GL.">
+--
+2.22.0
+
diff --git a/source/x/libglvnd/patches/6f52473dac08c44b081b792874b4ce73122096da.patch b/source/x/libglvnd/patches/6f52473dac08c44b081b792874b4ce73122096da.patch
new file mode 100644
index 000000000..a11f7742c
--- /dev/null
+++ b/source/x/libglvnd/patches/6f52473dac08c44b081b792874b4ce73122096da.patch
@@ -0,0 +1,28 @@
+From 6f52473dac08c44b081b792874b4ce73122096da Mon Sep 17 00:00:00 2001
+From: Eric Engestrom <eric@engestrom.ch>
+Date: Mon, 30 Sep 2019 16:06:42 +0100
+Subject: [PATCH] include: install GL headers when GL is enabled
+
+A typo made it depend on EGL instead.
+
+Fixes: ab9b5fcc3bf90064418f ("Install the GL/GLES/GLX/EGL header files.")
+---
+ include/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/include/Makefile.am b/include/Makefile.am
+index 1e33d2d..3d81d17 100644
+--- a/include/Makefile.am
++++ b/include/Makefile.am
+@@ -39,7 +39,7 @@ EGL_HEADER_FILES = \
+ EGL/eglext.h \
+ EGL/eglplatform.h
+
+-if ENABLE_EGL_HEADERS
++if ENABLE_GL_HEADERS
+ nobase_include_HEADERS += $(GL_HEADER_FILES)
+ else
+ noinst_HEADERS += $(GL_HEADER_FILES)
+--
+2.22.0
+