[arch-commits] Commit in glew/trunk (PKGBUILD egl+glx.patch)
Laurent Carlier
lcarlier at gemini.archlinux.org
Thu Aug 11 06:23:47 UTC 2022
Date: Thursday, August 11, 2022 @ 06:23:46
Author: lcarlier
Revision: 452540
upgpkg: glew 2.2.0-4: merge egl support from glew-egl-glx aur package (FS#75406)
Added:
glew/trunk/egl+glx.patch
Modified:
glew/trunk/PKGBUILD
---------------+
PKGBUILD | 33 ++++++++---
egl+glx.patch | 168 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 192 insertions(+), 9 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2022-08-11 03:57:56 UTC (rev 452539)
+++ PKGBUILD 2022-08-11 06:23:46 UTC (rev 452540)
@@ -4,35 +4,50 @@
pkgname=glew
pkgver=2.2.0
-pkgrel=3
+pkgrel=4
pkgdesc="The OpenGL Extension Wrangler Library"
arch=('x86_64')
url="https://github.com/nigels-com/glew"
license=('BSD' 'MIT' 'GPL')
-depends=('libxmu' 'libxi' 'glu')
+depends=('glibc' 'libegl' 'libgl')
+optdepends=('libx11: for glxewinfo and visualinfo')
provides=('libGLEW.so')
options=('debug')
# https://sourceforge.net/projects/glew/files/glew/
source=(https://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tgz
- glew-install.patch)
+ glew-install.patch
+ egl+glx.patch)
sha1sums=('22d6e9b9e691080eb6313407dbf51cfebc3345ea'
- 'e1bfa1e6ae3c7a553920978111092ea9d3a33c95')
+ 'e1bfa1e6ae3c7a553920978111092ea9d3a33c95'
+ '30dbb0a98883db63414d41114aacc9f847edd066')
prepare() {
cd ${pkgname}-${pkgver}
+
patch -Np1 -i ../glew-install.patch
+ patch -Np1 -i ../egl+glx.patch
+
+ sed -i 's|lib64|lib|' config/Makefile.linux
+ sed -i '/^.PHONY: .*\.pc$/d' Makefile
}
build() {
cd ${pkgname}-${pkgver}
- make \
- STRIP= \
- LIBDIR=/usr/lib
+
+ make STRIP= glew.bin
+ mv bin/glewinfo bin/glxewinfo
+ rm glew.pc
+
+ make STRIP= SYSTEM=linux-egl glew.lib.shared bin/glewinfo
+ mv bin/glewinfo bin/eglewinfo
}
package() {
cd ${pkgname}-${pkgver}
- make install.all DESTDIR="$pkgdir" \
- LIBDIR=/usr/lib
+
+ make GLEW_DEST="${pkgdir}/usr" STRIP= SYSTEM=linux-egl install
+ install -D -m755 -t "${pkgdir}/usr/bin" bin/eglewinfo bin/glxewinfo bin/visualinfo
+ ln -s eglewinfo "${pkgdir}/usr/bin/glewinfo"
+
install -D -m644 LICENSE.txt "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
Added: egl+glx.patch
===================================================================
--- egl+glx.patch (rev 0)
+++ egl+glx.patch 2022-08-11 06:23:46 UTC (rev 452540)
@@ -0,0 +1,168 @@
+--- a/src/glew.c
++++ b/src/glew.c
+@@ -36,11 +36,13 @@
+ # include GLEW_INCLUDE
+ #endif
+
++#if defined(GLEW_EGL)
++# include <GL/eglew.h>
++#endif
++
+ #if defined(GLEW_OSMESA)
+ # define GLAPI extern
+ # include <GL/osmesa.h>
+-#elif defined(GLEW_EGL)
+-# include <GL/eglew.h>
+ #elif defined(_WIN32)
+ /*
+ * If NOGDI is defined, wingdi.h won't be included by windows.h, and thus
+@@ -57,8 +59,7 @@
+
+ #include <stddef.h> /* For size_t */
+
+-#if defined(GLEW_EGL)
+-#elif defined(GLEW_REGAL)
++#if defined(GLEW_REGAL)
+
+ /* In GLEW_REGAL mode we call direcly into the linked
+ libRegal.so glGetProcAddressREGAL for looking up
+@@ -159,23 +160,37 @@
+ * Define glewGetProcAddress.
+ */
+ #if defined(GLEW_REGAL)
+-# define glewGetProcAddress(name) regalGetProcAddress((const GLchar *)name)
++# define _glewGetProcAddress(name) regalGetProcAddress((const GLchar *)name)
+ #elif defined(GLEW_OSMESA)
+-# define glewGetProcAddress(name) OSMesaGetProcAddress((const char *)name)
+-#elif defined(GLEW_EGL)
+-# define glewGetProcAddress(name) eglGetProcAddress((const char *)name)
++# define _glewGetProcAddress(name) OSMesaGetProcAddress((const char *)name)
+ #elif defined(_WIN32)
+-# define glewGetProcAddress(name) wglGetProcAddress((LPCSTR)name)
++# define _glewGetProcAddress(name) wglGetProcAddress((LPCSTR)name)
+ #elif defined(__APPLE__) && !defined(GLEW_APPLE_GLX)
+-# define glewGetProcAddress(name) NSGLGetProcAddress(name)
++# define _glewGetProcAddress(name) NSGLGetProcAddress(name)
+ #elif defined(__sgi) || defined(__sun) || defined(__HAIKU__)
+-# define glewGetProcAddress(name) dlGetProcAddress(name)
++# define _glewGetProcAddress(name) dlGetProcAddress(name)
+ #elif defined(__ANDROID__)
+-# define glewGetProcAddress(name) NULL /* TODO */
++# define _glewGetProcAddress(name) NULL /* TODO */
+ #elif defined(__native_client__)
+-# define glewGetProcAddress(name) NULL /* TODO */
++# define _glewGetProcAddress(name) NULL /* TODO */
+ #else /* __linux */
+-# define glewGetProcAddress(name) (*glXGetProcAddressARB)(name)
++# define _glewGetProcAddress(name) (*glXGetProcAddressARB)(name)
++#endif
++
++#if defined(GLEW_EGL)
++static GLboolean _EGL_available = GL_FALSE;
++static void (*glewGetProcAddress (const GLubyte *name)) (void)
++{
++ void (*addr)(void);
++ if (_EGL_available)
++ {
++ addr = eglGetProcAddress((const char *)name);
++ if (addr) return addr;
++ }
++ return _glewGetProcAddress(name);
++}
++#else
++# define glewGetProcAddress(name) _glewGetProcAddress(name)
+ #endif
+
+ /*
+@@ -19297,9 +19312,7 @@
+ }
+
+
+-#if defined(GLEW_OSMESA)
+-
+-#elif defined(GLEW_EGL)
++#if defined(GLEW_EGL)
+
+ PFNEGLCHOOSECONFIGPROC __eglewChooseConfig = NULL;
+ PFNEGLCOPYBUFFERSPROC __eglewCopyBuffers = NULL;
+@@ -20490,8 +20503,8 @@
+ PFNEGLQUERYSTRINGPROC queryString = NULL;
+
+ /* Load necessary entry points */
+- initialize = (PFNEGLINITIALIZEPROC) glewGetProcAddress("eglInitialize");
+- queryString = (PFNEGLQUERYSTRINGPROC) glewGetProcAddress("eglQueryString");
++ initialize = (PFNEGLINITIALIZEPROC) eglGetProcAddress("eglInitialize");
++ queryString = (PFNEGLQUERYSTRINGPROC) eglGetProcAddress("eglQueryString");
+ if (!initialize || !queryString)
+ return 1;
+
+@@ -21029,7 +21042,9 @@
+ return GLEW_OK;
+ }
+
+-#elif defined(_WIN32)
++#endif
++
++#if defined(_WIN32)
+
+ PFNWGLSETSTEREOEMITTERSTATE3DLPROC __wglewSetStereoEmitterState3DL = NULL;
+
+@@ -23105,13 +23120,26 @@
+ GLenum r;
+ #if defined(GLEW_EGL)
+ PFNEGLGETCURRENTDISPLAYPROC getCurrentDisplay = NULL;
++ EGLDisplay display;
+ #endif
+ r = glewContextInit();
+ if ( r != 0 ) return r;
+ #if defined(GLEW_EGL)
+- getCurrentDisplay = (PFNEGLGETCURRENTDISPLAYPROC) glewGetProcAddress("eglGetCurrentDisplay");
+- return eglewInit(getCurrentDisplay());
+-#elif defined(GLEW_OSMESA) || defined(__ANDROID__) || defined(__native_client__) || defined(__HAIKU__)
++ getCurrentDisplay = (PFNEGLGETCURRENTDISPLAYPROC) eglGetProcAddress("eglGetCurrentDisplay");
++ if (getCurrentDisplay)
++ display = getCurrentDisplay();
++ else
++ display = EGL_NO_DISPLAY;
++ if (display != EGL_NO_DISPLAY)
++ {
++ r = eglewInit(display);
++ if ( r == 0 ) {
++ _EGL_available = GL_TRUE;
++ return r;
++ }
++ }
++#endif
++#if defined(GLEW_OSMESA) || defined(__ANDROID__) || defined(__native_client__) || defined(__HAIKU__)
+ return r;
+ #elif defined(_WIN32)
+ return wglewInit();
+@@ -29785,7 +29813,7 @@
+ return ret;
+ }
+
+-#if defined(_WIN32) && !defined(GLEW_EGL) && !defined(GLEW_OSMESA)
++#if defined(_WIN32) && !defined(GLEW_OSMESA)
+
+ GLboolean GLEWAPIENTRY wglewIsSupported (const char* name)
+ {
+@@ -30228,7 +30256,7 @@
+ return ret;
+ }
+
+-#elif !defined(GLEW_OSMESA) && !defined(GLEW_EGL) && !defined(__ANDROID__) && !defined(__native_client__) && !defined(__HAIKU__) && !defined(__APPLE__) || defined(GLEW_APPLE_GLX)
++#elif !defined(GLEW_OSMESA) && !defined(__ANDROID__) && !defined(__native_client__) && !defined(__HAIKU__) && !defined(__APPLE__) || defined(GLEW_APPLE_GLX)
+
+ GLboolean glxewIsSupported (const char* name)
+ {
+@@ -30805,7 +30833,9 @@
+ return ret;
+ }
+
+-#elif defined(GLEW_EGL)
++#endif
++
++#if defined(GLEW_EGL)
+
+ GLboolean eglewIsSupported (const char* name)
+ {
More information about the arch-commits
mailing list