[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