Enable X11 conditionally in libglvnd's egl header

See https://github.com/KhronosGroup/EGL-Registry/pull/130
This commit is contained in:
Martchus 2022-06-16 16:27:38 +02:00
parent bf28a1a3a7
commit 6edac42547
2 changed files with 32 additions and 2 deletions

View File

@ -3,7 +3,7 @@
_pkgname=libglvnd
pkgname=static-compat-$_pkgname
pkgver=1.0.0 # intentionally outdated for compatibility
pkgrel=2
pkgrel=3
pkgdesc="The GL Vendor-Neutral Dispatch library"
arch=('x86_64')
url="https://github.com/NVIDIA/libglvnd"
@ -12,10 +12,16 @@ depends=('static-compat-libxext' 'mesa' 'opengl-driver')
makedepends=('static-compat-libx11' 'static-compat-xorgproto' 'python' 'static-compat-configure' 'patchelf')
options=(staticlibs)
source=("$_pkgname-$pkgver.tar.gz::https://gitlab.freedesktop.org/glvnd/libglvnd/-/archive/v${pkgver}/libglvnd-v${pkgver}.tar.gz"
egl-conditional-x11.patch
LICENSE)
sha512sums=('c6040b0a508a6b74d7113f8e375fcaf93ec6f2875504953f30e2882e58e22f954bd4027a7d9ab8ac41abef266039e5834fdaf4ce2a69d5d98acf3bbdd54f04b6'
sha512sums=('f53a909a3ad240c2efbc7c38c3b7cf97bb9b95722a86ab841fcf5f1a83e8a99eb4bbc271f1f249867a74faf4f9d9f65aaffcecc5f5600346186c62f1eee43edd'
'35d5e06184ddcda3dabb59830d38c8e6f9b5bd891bdca57ddb311595d2b4ec0c951d65f78ab05429f851615f4d669a9d139ed58916f114ee86d3b86a63859bb7'
'bf0f4a7e04220a407400f89226ecc1f798cc43035f2538cc8860e5088e1f84140baf0d4b0b28f66e4b802d4d6925769a1297c24e1ba39c1c093902b2931781a5')
prepare() {
patch -d $_pkgname-v$pkgver/include/EGL -p1 -i "$PWD/egl-conditional-x11.patch"
}
build() {
source static-compat-environment
export PATH=$PWD:$PATH

View File

@ -0,0 +1,24 @@
--- a/eglplatform.h 2022-06-16 16:11:27.934535986 +0200
+++ b/eglplatform.h 2022-06-16 16:17:35.649358663 +0200
@@ -93,7 +93,7 @@
typedef struct egl_native_pixmap_t* EGLNativePixmapType;
typedef void* EGLNativeDisplayType;
-#elif defined(__unix__)
+#elif defined(USE_X11)
/* X11 (tentative) */
#include <X11/Xlib.h>
@@ -103,6 +103,12 @@
typedef Pixmap EGLNativePixmapType;
typedef Window EGLNativeWindowType;
+#elif defined(__unix__)
+
+typedef void *EGLNativeDisplayType;
+typedef khronos_uintptr_t EGLNativePixmapType;
+typedef khronos_uintptr_t EGLNativeWindowType;
+
#else
#error "Platform not recognized"
#endif