commit 565c3cf129a55d21e628a1dcce95b1ea00485e35b038b32ba81255756717ca8d Author: Takashi Iwai Date: Mon Jan 13 08:34:43 2025 +0000 - Allow to build GLEW with EGL support for Wayland - Build GLEW with cmake - Added glew-2.2.0-fix-cmake.patch OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/glew?expand=0&rev=62 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..fef2649 --- /dev/null +++ b/baselibs.conf @@ -0,0 +1 @@ +libGLEW2_2 diff --git a/glew-2.2.0-fix-cmake.patch b/glew-2.2.0-fix-cmake.patch new file mode 100644 index 0000000..3c39bff --- /dev/null +++ b/glew-2.2.0-fix-cmake.patch @@ -0,0 +1,891 @@ +From c090f00bb5eabca6830d1fa26b53fb7e851ddeb4 Mon Sep 17 00:00:00 2001 +From: Nigel Stewart +Date: Sun, 10 Jan 2021 11:50:29 +1000 +Subject: [PATCH 01/14] EGLEW: Wayland wl_display and wl_resource declarations + for WL_bind_wayland_display + +(cherry picked from commit d68cb0314990d375e75a8d5d6692a4d4f0efde7e) +--- + auto/src/eglew_head.h | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/auto/src/eglew_head.h b/auto/src/eglew_head.h +index 51b1b46..d064baf 100644 +--- a/auto/src/eglew_head.h ++++ b/auto/src/eglew_head.h +@@ -78,6 +78,10 @@ typedef khronos_stime_nanoseconds_t EGLnsecsANDROID; + struct EGLClientPixmapHI; + struct AHardwareBuffer; + ++/* Wayland types for WL_bind_wayland_display purposes */ ++struct wl_display; ++struct wl_resource; ++ + #define EGL_DONT_CARE ((EGLint)-1) + + #define EGL_NO_CONTEXT ((EGLContext)0) +-- +2.47.1 + + +From 4152444d15e54aedc6152ca120222f5a8bbcc245 Mon Sep 17 00:00:00 2001 +From: Nigel Stewart +Date: Sun, 10 Jan 2021 11:52:31 +1000 +Subject: [PATCH 02/14] EGLEW: Wayland wl_buffer declaration for + WL_bind_wayland_display + +(cherry picked from commit 8c88a0858f33879ea693f89ef43b3d77c968806e) +--- + auto/src/eglew_head.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/auto/src/eglew_head.h b/auto/src/eglew_head.h +index d064baf..121efaf 100644 +--- a/auto/src/eglew_head.h ++++ b/auto/src/eglew_head.h +@@ -79,6 +79,7 @@ struct EGLClientPixmapHI; + struct AHardwareBuffer; + + /* Wayland types for WL_bind_wayland_display purposes */ ++struct wl_buffer; + struct wl_display; + struct wl_resource; + +-- +2.47.1 + + +From 064aafb705774a3c950bd201b96d6417e895a42b Mon Sep 17 00:00:00 2001 +From: Danilo Spinella +Date: Mon, 27 May 2019 10:22:51 +0200 +Subject: [PATCH 03/14] GLEW_EGL: Fix EGL library check + +(cherry picked from commit 95329dc4a6a5d2ea17e4be6a17255bb23c385c66) +--- + build/cmake/CMakeLists.txt | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/build/cmake/CMakeLists.txt b/build/cmake/CMakeLists.txt +index 419c243..a401e03 100644 +--- a/build/cmake/CMakeLists.txt ++++ b/build/cmake/CMakeLists.txt +@@ -87,9 +87,9 @@ endif () + + if (GLEW_EGL AND UNIX) + add_definitions (-DGLEW_EGL) +- if (OpenGL::EGL) ++ if (NOT OpenGL_EGL_FOUND) + message (FATAL_ERROR "EGL library set but not found.") +- endif() ++ endif () + set (GLEW_LIBRARIES ${OPENGL_LIBRARIES} ${OPENGL_egl_LIBRARY}) + endif () + +-- +2.47.1 + + +From 9487201e72d600f4624e568af99e0ea547946346 Mon Sep 17 00:00:00 2001 +From: Julien Schueller +Date: Tue, 2 Mar 2021 14:22:45 +0100 +Subject: [PATCH 04/14] CMake: Add X11/EGL options + +(cherry picked from commit e34bb212f65a225e56b8a76234822a29c37ea5cb) +--- + build/cmake/CMakeLists.txt | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +diff --git a/build/cmake/CMakeLists.txt b/build/cmake/CMakeLists.txt +index a401e03..2649bd0 100644 +--- a/build/cmake/CMakeLists.txt ++++ b/build/cmake/CMakeLists.txt +@@ -24,6 +24,8 @@ option (GLEW_OSMESA "OSMesa mode" OFF) + if (APPLE) + option (BUILD_FRAMEWORK "Build Framework bundle for OSX" OFF) + endif () ++option (GLEW_X11 "X11 mode" ON) ++option (GLEW_EGL "EGL mode" OFF) + + set (GLEW_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../..) + +@@ -42,9 +44,12 @@ set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) + + find_package (OpenGL REQUIRED) + ++set (GLEW_LIBRARIES ${OPENGL_LIBRARIES}) ++ + # X11 required except for Windows and Apple OSX platforms +-if (NOT WIN32 AND NOT APPLE) ++if (GLEW_X11 AND NOT WIN32 AND NOT APPLE) + find_package (X11) ++ list (APPEND GLEW_LIBRARIES ${X11_LIBRARIES}) + endif() + + if (WIN32) +@@ -54,8 +59,6 @@ else () + set (DLL_PREFIX lib) + endif () + +-set (GLEW_LIBRARIES ${OPENGL_LIBRARIES} ${X11_LIBRARIES}) +- + add_definitions (-DGLEW_NO_GLU) + + #### Regal mode #### +-- +2.47.1 + + +From 791be7739865d61675355088a884f483870e9577 Mon Sep 17 00:00:00 2001 +From: Julien Schueller +Date: Thu, 18 Mar 2021 16:41:23 +0100 +Subject: [PATCH 05/14] CMake: Add BUILD_SHARED_LIBS option + +(cherry picked from commit 2b16160853ed0ab271903ed4a8aaee8399a0de8a) +--- + build/cmake/CMakeLists.txt | 11 +++++------ + 1 file changed, 5 insertions(+), 6 deletions(-) + +diff --git a/build/cmake/CMakeLists.txt b/build/cmake/CMakeLists.txt +index 2649bd0..9ff5c9f 100644 +--- a/build/cmake/CMakeLists.txt ++++ b/build/cmake/CMakeLists.txt +@@ -26,6 +26,7 @@ if (APPLE) + endif () + option (GLEW_X11 "X11 mode" ON) + option (GLEW_EGL "EGL mode" OFF) ++option (BUILD_SHARED_LIBS "install/link shared instead of static libs" ON) + + set (GLEW_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../..) + +@@ -162,11 +163,9 @@ else() + endif() + + set(targets_to_install "") +-if(NOT DEFINED BUILD_SHARED_LIBS OR BUILD_SHARED_LIBS) ++if(BUILD_SHARED_LIBS) + list(APPEND targets_to_install glew) +-endif() +- +-if(NOT DEFINED BUILD_SHARED_LIBS OR NOT BUILD_SHARED_LIBS) ++else () + list(APPEND targets_to_install glew_s) + endif() + +@@ -184,7 +183,7 @@ if (BUILD_UTILS) + list (APPEND GLEWINFO_SRC_FILES ${GLEW_DIR}/build/glewinfo.rc) + endif () + add_executable (glewinfo ${GLEWINFO_SRC_FILES}) +- if(NOT DEFINED BUILD_SHARED_LIBS OR BUILD_SHARED_LIBS) ++ if(BUILD_SHARED_LIBS) + target_link_libraries (glewinfo glew) + else() + target_link_libraries (glewinfo glew_s) +@@ -198,7 +197,7 @@ if (BUILD_UTILS) + list (APPEND VISUALINFO_SRC_FILES ${GLEW_DIR}/build/visualinfo.rc) + endif () + add_executable (visualinfo ${VISUALINFO_SRC_FILES}) +- if(NOT DEFINED BUILD_SHARED_LIBS OR BUILD_SHARED_LIBS) ++ if(BUILD_SHARED_LIBS) + target_link_libraries (visualinfo glew) + else() + target_link_libraries (visualinfo glew_s) +-- +2.47.1 + + +From e44aad980bdaac65ae3ade877c41357c96b0077d Mon Sep 17 00:00:00 2001 +From: Julien Schueller +Date: Wed, 17 Mar 2021 18:37:49 +0100 +Subject: [PATCH 06/14] CMake: Prefer GLVND if available + +(cherry picked from commit 2b50f4acd2a21e64ac25c4c910c73362c004580f) +--- + build/cmake/CMakeLists.txt | 23 ++++++++++++++++++++--- + 1 file changed, 20 insertions(+), 3 deletions(-) + +diff --git a/build/cmake/CMakeLists.txt b/build/cmake/CMakeLists.txt +index 9ff5c9f..d04a727 100644 +--- a/build/cmake/CMakeLists.txt ++++ b/build/cmake/CMakeLists.txt +@@ -16,6 +16,10 @@ if(POLICY CMP0042) + cmake_policy (SET CMP0042 NEW) + endif() + ++if (POLICY CMP0072) ++ cmake_policy (SET CMP0072 NEW) ++endif(POLICY CMP0072) ++ + set(CMAKE_DEBUG_POSTFIX d) + + option (BUILD_UTILS "utilities" ON) +@@ -45,7 +49,20 @@ set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) + + find_package (OpenGL REQUIRED) + +-set (GLEW_LIBRARIES ${OPENGL_LIBRARIES}) ++# cmake<3.10 doesnt detect EGL/GLX ++if (CMAKE_VERSION VERSION_LESS 3.10) ++ find_library(OPENGL_egl_LIBRARY NAMES EGL) ++ if (OPENGL_egl_LIBRARY) ++ set (OpenGL_EGL_FOUND TRUE) ++ endif () ++endif () ++ ++# prefer GLVND ++if (OPENGL_opengl_LIBRARY) ++ set (GLEW_LIBRARIES ${OPENGL_opengl_LIBRARY}) ++else () ++ set (GLEW_LIBRARIES ${OPENGL_gl_LIBRARY}) ++endif () + + # X11 required except for Windows and Apple OSX platforms + if (GLEW_X11 AND NOT WIN32 AND NOT APPLE) +@@ -83,7 +100,7 @@ if (GLEW_OSMESA) + set (OSMESA_LIB_NAME OSMesa) + endif () + add_definitions (-DGLEW_OSMESA) +- set (GLEW_LIBRARIES ${OSMESA_LIB_NAME} ${OPENGL_LIBRARIES}) ++ list (APPEND GLEW_LIBRARIES ${OSMESA_LIB_NAME}) + set (X11_LIBRARIES) + endif () + +@@ -94,7 +111,7 @@ if (GLEW_EGL AND UNIX) + if (NOT OpenGL_EGL_FOUND) + message (FATAL_ERROR "EGL library set but not found.") + endif () +- set (GLEW_LIBRARIES ${OPENGL_LIBRARIES} ${OPENGL_egl_LIBRARY}) ++ list (APPEND GLEW_LIBRARIES ${OPENGL_egl_LIBRARY}) + endif () + + #### GLEW #### +-- +2.47.1 + + +From 39801d386097807ad7488236b95c55091b1d75eb Mon Sep 17 00:00:00 2001 +From: Dmitry Kalinkin +Date: Thu, 6 Jan 2022 21:37:57 -0500 +Subject: [PATCH 07/14] CMake: don't hardcode "/include" in + target_include_directories + +(cherry picked from commit 966e53fa153175864e151ec8a8e11f688c3e752d) +--- + build/cmake/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/build/cmake/CMakeLists.txt b/build/cmake/CMakeLists.txt +index d04a727..871a908 100644 +--- a/build/cmake/CMakeLists.txt ++++ b/build/cmake/CMakeLists.txt +@@ -174,7 +174,7 @@ if(CMAKE_VERSION VERSION_LESS 2.8.12) + else() + target_compile_definitions(glew_s INTERFACE "GLEW_STATIC") + foreach(t glew glew_s) +- target_include_directories(${t} PUBLIC $) ++ target_include_directories(${t} PUBLIC $) + endforeach() + set(MAYBE_EXPORT EXPORT glew-targets) + endif() +-- +2.47.1 + + +From 8f51492fad00175b7e695ea8e89210c0fd9f6e99 Mon Sep 17 00:00:00 2001 +From: Marvin Schmidt +Date: Mon, 7 Feb 2022 14:48:40 +0100 +Subject: [PATCH 08/14] cmake: Install eglew.h + +The eglew.h header was never installed using the CMake build. Fix this +by adding it to the list of public headers + +(cherry picked from commit 5f57b09c04757e840451063236e9118c1df5ebae) +--- + build/cmake/CMakeLists.txt | 13 ++++++++----- + 1 file changed, 8 insertions(+), 5 deletions(-) + +diff --git a/build/cmake/CMakeLists.txt b/build/cmake/CMakeLists.txt +index 871a908..de66055 100644 +--- a/build/cmake/CMakeLists.txt ++++ b/build/cmake/CMakeLists.txt +@@ -118,7 +118,12 @@ endif () + + include_directories (${GLEW_DIR}/include ${X11_INCLUDE_DIR}) + +-set (GLEW_PUBLIC_HEADERS_FILES ${GLEW_DIR}/include/GL/wglew.h ${GLEW_DIR}/include/GL/glew.h ${GLEW_DIR}/include/GL/glxew.h) ++set (GLEW_PUBLIC_HEADERS_FILES ++ ${GLEW_DIR}/include/GL/wglew.h ++ ${GLEW_DIR}/include/GL/glew.h ++ ${GLEW_DIR}/include/GL/glxew.h ++ ${GLEW_DIR}/include/GL/eglew.h ++) + set (GLEW_SRC_FILES ${GLEW_DIR}/src/glew.c) + + if (WIN32) +@@ -255,10 +260,8 @@ if(WIN32 AND MSVC AND (NOT MSVC_VERSION LESS 1600) AND (NOT CMAKE_VERSION VERSIO + ) + endif() + +-install (FILES +- ${GLEW_DIR}/include/GL/wglew.h +- ${GLEW_DIR}/include/GL/glew.h +- ${GLEW_DIR}/include/GL/glxew.h ++install ( ++ FILES ${GLEW_PUBLIC_HEADERS_FILES} + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/GL) + + if(MAYBE_EXPORT) +-- +2.47.1 + + +From a4f7a5b9626b28591daf87744c401f68cc82fab9 Mon Sep 17 00:00:00 2001 +From: Marvin Schmidt +Date: Sun, 10 Apr 2022 10:42:48 +0200 +Subject: [PATCH 09/14] cmake: Link libGLX when X11 support is requested + +Using cmake (version 3.23.0) the build fails to link the utils +``` +[...] +[ 87%] Linking C executable bin/visualinfo [113/5249] +/usr/x86_64-pc-linux-gnu/bin/cmake -E cmake_link_script CMakeFiles/visualinfo.dir/link.txt --verbose=1 +/usr/host/bin/x86_64-pc-linux-gnu-cc -Wall -g -ggdb3 -O0 -rdynamic CMakeFiles/visualinfo.dir/home/marv/scm/github/glew/src/visualinfo.c.o -o bin/visualinfo -Wl,-rpath,/h +ome/marv/scm/github/glew/build-obj/lib: lib/libGLEW.so.2.2.0 -lSM -lICE -lX11 -lXext -lOpenGL -lSM -lICE -lX11 -lXext +/usr/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ld: CMakeFiles/visualinfo.dir/home/marv/scm/github/glew/src/visualinfo.c.o: in function `main': +/home/marv/scm/github/glew/src/visualinfo.c:198: undefined reference to `glXQueryExtensionsString' +/usr/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ld: CMakeFiles/visualinfo.dir/home/marv/scm/github/glew/src/visualinfo.c.o: in function `CreateContext': +/home/marv/scm/github/glew/src/visualinfo.c:1204: undefined reference to `glXQueryExtension' +/usr/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ld: /home/marv/scm/github/glew/src/visualinfo.c:1206: undefined reference to `glXChooseVisual' +/usr/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ld: /home/marv/scm/github/glew/src/visualinfo.c:1209: undefined reference to `glXCreateContext' +/usr/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ld: /home/marv/scm/github/glew/src/visualinfo.c:1221: undefined reference to `glXMakeCurrent' +/usr/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ld: CMakeFiles/visualinfo.dir/home/marv/scm/github/glew/src/visualinfo.c.o: in function `DestroyContext': +/home/marv/scm/github/glew/src/visualinfo.c:1227: undefined reference to `glXDestroyContext' +/usr/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ld: lib/libGLEW.so.2.2.0: undefined reference to `glXGetProcAddressARB' +/usr/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ld: lib/libGLEW.so.2.2.0: undefined reference to `glXQueryVersion' +/usr/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ld: lib/libGLEW.so.2.2.0: undefined reference to `glXGetClientString' +collect2: error: ld returned 1 exit status +``` + +Commit 2b50f4a ("CMake: Prefer GLVND if available") changed the cmake +policy CMP0072 to `NEW` in order to make the FindOpenGL module prefer the +GLVND libraries (libOpenGL and libGLX) over the legacy GL library (libGL). + +The help of the CMP0072 policy states: + +> CMP0072 +> ------- +> +> .. versionadded:: 3.11 +> +> ``FindOpenGL`` prefers GLVND by default when available. +> +> The ``FindOpenGL`` module provides an ``OpenGL::GL`` target and an +> ``OPENGL_LIBRARIES`` variable for projects to use for legacy GL interfaces. +> When both a legacy GL library (e.g. ``libGL.so``) and GLVND libraries +> for OpenGL and GLX (e.g. ``libOpenGL.so`` and ``libGLX.so``) are available, +> the module must choose between them. It documents an ``OpenGL_GL_PREFERENCE`` +> variable that can be used to specify an explicit preference. When no such +> preference is set, the module must choose a default preference. +> +> CMake 3.11 and above prefer to choose GLVND libraries. This policy provides +> compatibility with projects that expect the legacy GL library to be used. +> +> The ``OLD`` behavior for this policy is to set ``OpenGL_GL_PREFERENCE`` to +> ``LEGACY``. The ``NEW`` behavior for this policy is to set +> ``OpenGL_GL_PREFERENCE`` to ``GLVND``. +> +> This policy was introduced in CMake version 3.11. CMake version +> 3.23.0 warns when the policy is not set and uses ``OLD`` behavior. +> Use the ``cmake_policy()`` command to set it to ``OLD`` or ``NEW`` +> explicitly. +> +> .. note:: +> The ``OLD`` behavior of a policy is +> ``deprecated by definition`` +> and may be removed in a future version of CMake. + +The changes from the mentioned commit combined with the new behaviour of +the FindOpenGL module resulted in the glew library being linked against +`libOpenGL` instead of `libGL`, but not `libGLX`. Since `libOpenGL` +doesn't link against GLX compared to `libGL` the linker errors above +surfaced. Fix this by explicitly linking against libGLX if GLEW_X11 is +enabled + +(cherry picked from commit c8a2ddfbe1739831b78cebc4cdbcd3ed48503872) +--- + build/cmake/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/build/cmake/CMakeLists.txt b/build/cmake/CMakeLists.txt +index de66055..16a3cc2 100644 +--- a/build/cmake/CMakeLists.txt ++++ b/build/cmake/CMakeLists.txt +@@ -67,7 +67,7 @@ endif () + # X11 required except for Windows and Apple OSX platforms + if (GLEW_X11 AND NOT WIN32 AND NOT APPLE) + find_package (X11) +- list (APPEND GLEW_LIBRARIES ${X11_LIBRARIES}) ++ list (APPEND GLEW_LIBRARIES ${OPENGL_glx_LIBRARY} ${X11_LIBRARIES}) + endif() + + if (WIN32) +-- +2.47.1 + + +From 3da063880c347dc72aa3d365426c02ea8d4fdb0f Mon Sep 17 00:00:00 2001 +From: Jean-Christophe Fillion-Robin +Date: Thu, 23 Mar 2023 00:36:44 -0400 +Subject: [PATCH 10/14] cmake: Update install rules to support component-based + installation + +(cherry picked from commit 281c2936f3991800896220eb40fd03a2ea669a33) +--- + build/cmake/CMakeLists.txt | 20 +++++++++++++------- + build/cmake/testbuild/CMakeLists.txt | 2 +- + 2 files changed, 14 insertions(+), 8 deletions(-) + +diff --git a/build/cmake/CMakeLists.txt b/build/cmake/CMakeLists.txt +index 16a3cc2..fbe6fc3 100644 +--- a/build/cmake/CMakeLists.txt ++++ b/build/cmake/CMakeLists.txt +@@ -193,10 +193,10 @@ endif() + + install ( TARGETS ${targets_to_install} + ${MAYBE_EXPORT} +- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} +- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} +- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} +- FRAMEWORK DESTINATION ${CMAKE_INSTALL_PREFIX} ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT Runtime ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Runtime ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Development ++ FRAMEWORK DESTINATION ${CMAKE_INSTALL_PREFIX} COMPONENT Runtime + ) + + if (BUILD_UTILS) +@@ -229,7 +229,8 @@ if (BUILD_UTILS) + endif () + + install ( TARGETS glewinfo visualinfo +- DESTINATION ${CMAKE_INSTALL_BINDIR}) ++ DESTINATION ${CMAKE_INSTALL_BINDIR} ++ COMPONENT Runtime) + endif () + + set (prefix ${CMAKE_INSTALL_PREFIX}) +@@ -250,6 +251,7 @@ configure_file (${GLEW_DIR}/glew.pc.in ${CMAKE_CURRENT_BINARY_DIR}/glew.pc @ONLY + + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/glew.pc + DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig ++ COMPONENT Development + ) + + if(WIN32 AND MSVC AND (NOT MSVC_VERSION LESS 1600) AND (NOT CMAKE_VERSION VERSION_LESS "3.1")) +@@ -257,20 +259,24 @@ if(WIN32 AND MSVC AND (NOT MSVC_VERSION LESS 1600) AND (NOT CMAKE_VERSION VERSIO + FILES $ + DESTINATION ${CMAKE_INSTALL_LIBDIR} + CONFIGURATIONS Debug RelWithDebInfo ++ COMPONENT Runtime + ) + endif() + + install ( + FILES ${GLEW_PUBLIC_HEADERS_FILES} +- DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/GL) ++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/GL ++ COMPONENT Development) + + if(MAYBE_EXPORT) + install(EXPORT glew-targets DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/glew ++ COMPONENT Development + NAMESPACE GLEW::) + install(FILES + ${CMAKE_CURRENT_SOURCE_DIR}/glew-config.cmake + ${CMAKE_CURRENT_SOURCE_DIR}/CopyImportedTargetProperties.cmake +- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/glew) ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/glew ++ COMPONENT Development) + endif() + + if(NOT TARGET uninstall) +diff --git a/build/cmake/testbuild/CMakeLists.txt b/build/cmake/testbuild/CMakeLists.txt +index 27bcf2d..15b9e52 100644 +--- a/build/cmake/testbuild/CMakeLists.txt ++++ b/build/cmake/testbuild/CMakeLists.txt +@@ -22,4 +22,4 @@ target_compile_definitions(cmake-test PRIVATE + -DGLEW_CMAKE_TEST_TARGET_TYPE=$ + ) + +-install(TARGETS cmake-test DESTINATION bin) ++install(TARGETS cmake-test DESTINATION bin COMPONENT Runtime) +-- +2.47.1 + + +From b4c8b8706e6d5c6aba06fb44a2a6be26c3c4655f Mon Sep 17 00:00:00 2001 +From: luz paz +Date: Sun, 19 Dec 2021 16:02:37 -0500 +Subject: [PATCH 11/14] Fix various typos + +Found via `codespell -q 3 -L ake,extrem,lod,parms` + +(cherry picked from commit 4a757ac7c01576cec73f029abd09c63e8d391538) +--- + README.md | 2 +- + auto/bin/parse_spec.pl | 4 ++-- + auto/doc/advanced.html | 2 +- + auto/doc/log.html | 6 +++--- + build/cmake/CMakeLists.txt | 2 +- + doc/advanced.html | 2 +- + doc/log.html | 6 +++--- + 7 files changed, 12 insertions(+), 12 deletions(-) + +diff --git a/README.md b/README.md +index bfec306..9a8a0a8 100644 +--- a/README.md ++++ b/README.md +@@ -108,7 +108,7 @@ _Note: you may need to call `make` in the **auto** folder first_ + + #### Using cmake + +-The cmake build is mostly contributer maintained. ++The cmake build is mostly contributor maintained. + Due to the multitude of use cases this is maintained on a _best effort_ basis. + Pull requests are welcome. + +diff --git a/auto/bin/parse_spec.pl b/auto/bin/parse_spec.pl +index 71d6639..b9c3281 100755 +--- a/auto/bin/parse_spec.pl ++++ b/auto/bin/parse_spec.pl +@@ -114,7 +114,7 @@ my %taboo_tokens = ( + ); + + # list of function definitions to be ignored, unless they are being defined in +-# the given spec. This is an ugly hack arround the fact that people writing ++# the given spec. This is an ugly hack around the fact that people writing + # spec files seem to shut down all brain activity while they are at this task. + # + # This will be moved to its own file eventually. +@@ -185,7 +185,7 @@ sub normalize_prototype + return $_; + } + +-# Ugly hack to work arround the fact that functions are declared in more ++# Ugly hack to work around the fact that functions are declared in more + # than one spec file. + sub ignore_function($$) + { +diff --git a/auto/doc/advanced.html b/auto/doc/advanced.html +index 740a797..3e0ad79 100644 +--- a/auto/doc/advanced.html ++++ b/auto/doc/advanced.html +@@ -88,7 +88,7 @@ terminated with a semicolon. +

Custom Code Generation

+

+ Starting from GLEW 1.3.0, it is possible to control which extensions +-to include in the libarary by specifying a list in ++to include in the library by specifying a list in + auto/custom.txt. This is useful when you do not need all the + extensions and would like to reduce the size of the source files. + Type make clean; make custom in the auto directory +diff --git a/auto/doc/log.html b/auto/doc/log.html +index a805f98..531b3b2 100644 +--- a/auto/doc/log.html ++++ b/auto/doc/log.html +@@ -198,7 +198,7 @@ +

    +
  • Bug fixes: +
      +-
    • Resovled crash when glXGetCurrentDisplay() is NULL ++
    • Resolved crash when glXGetCurrentDisplay() is NULL +
    • CMake: only install PDB files with MSVC +
    • wglGetProcAddress crash with NOGDI defined +
    • Mac: using -Os rather than -O2 +@@ -927,7 +927,7 @@ +
    +
  • Bug fixes: +
      +-
    • Incorrent 64-bit type definitions ++
    • Incorrect 64-bit type definitions +
    • Do not strip static library on install +
    • Missing tokens in GL_ATI_fragment_shader and WGL_{ARB,EXT}_make_current_read +
    • Missing tokens in GL_VERSION_2_1 +@@ -975,7 +975,7 @@ corruption of their values +
    • Missing include guards in glxew.h +
    • Makefile and install problems for Cygwin builds +
    • Install problem for Linux AMD64 builds +-
    • Incorrent token in GL_ATI_texture_compression_3dc ++
    • Incorrect token in GL_ATI_texture_compression_3dc +
    • Missing tokens from GL_ATIX_point_sprites +
    +
+diff --git a/build/cmake/CMakeLists.txt b/build/cmake/CMakeLists.txt +index fbe6fc3..73b2f20 100644 +--- a/build/cmake/CMakeLists.txt ++++ b/build/cmake/CMakeLists.txt +@@ -49,7 +49,7 @@ set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) + + find_package (OpenGL REQUIRED) + +-# cmake<3.10 doesnt detect EGL/GLX ++# cmake<3.10 doesn't detect EGL/GLX + if (CMAKE_VERSION VERSION_LESS 3.10) + find_library(OPENGL_egl_LIBRARY NAMES EGL) + if (OPENGL_egl_LIBRARY) +diff --git a/doc/advanced.html b/doc/advanced.html +index e74f2b6..8119244 100644 +--- a/doc/advanced.html ++++ b/doc/advanced.html +@@ -186,7 +186,7 @@ terminated with a semicolon. +

Custom Code Generation

+

+ Starting from GLEW 1.3.0, it is possible to control which extensions +-to include in the libarary by specifying a list in ++to include in the library by specifying a list in + auto/custom.txt. This is useful when you do not need all the + extensions and would like to reduce the size of the source files. + Type make clean; make custom in the auto directory +diff --git a/doc/log.html b/doc/log.html +index c5f8ab7..af8ced7 100644 +--- a/doc/log.html ++++ b/doc/log.html +@@ -296,7 +296,7 @@ THE POSSIBILITY OF SUCH DAMAGE. +

    +
  • Bug fixes: +
      +-
    • Resovled crash when glXGetCurrentDisplay() is NULL ++
    • Resolved crash when glXGetCurrentDisplay() is NULL +
    • CMake: only install PDB files with MSVC +
    • wglGetProcAddress crash with NOGDI defined +
    • Mac: using -Os rather than -O2 +@@ -1025,7 +1025,7 @@ THE POSSIBILITY OF SUCH DAMAGE. +
    +
  • Bug fixes: +
      +-
    • Incorrent 64-bit type definitions ++
    • Incorrect 64-bit type definitions +
    • Do not strip static library on install +
    • Missing tokens in GL_ATI_fragment_shader and WGL_{ARB,EXT}_make_current_read +
    • Missing tokens in GL_VERSION_2_1 +@@ -1073,7 +1073,7 @@ corruption of their values +
    • Missing include guards in glxew.h +
    • Makefile and install problems for Cygwin builds +
    • Install problem for Linux AMD64 builds +-
    • Incorrent token in GL_ATI_texture_compression_3dc ++
    • Incorrect token in GL_ATI_texture_compression_3dc +
    • Missing tokens from GL_ATIX_point_sprites +
    +
+-- +2.47.1 + + +From 2e661eaaa009aff1ec040e6426336416108e2820 Mon Sep 17 00:00:00 2001 +From: grahamreeds +Date: Thu, 21 Sep 2023 12:25:00 +0000 +Subject: [PATCH 12/14] Bump minimum cmake version to 3.16 matching the LTS + release of Ubuntu 20.04 + +(cherry picked from commit a4d8b2a2a30576eb1b984ba5d573702acfc5b92e) +--- + build/cmake/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/build/cmake/CMakeLists.txt b/build/cmake/CMakeLists.txt +index 73b2f20..789c61a 100644 +--- a/build/cmake/CMakeLists.txt ++++ b/build/cmake/CMakeLists.txt +@@ -4,7 +4,7 @@ endif () + + project (glew C) + +-cmake_minimum_required (VERSION 2.8.12) ++cmake_minimum_required (VERSION 3.16) + + include(GNUInstallDirs) + +-- +2.47.1 + + +From b592b7840940329640d2b2a78e03a56e21844f64 Mon Sep 17 00:00:00 2001 +From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> +Date: Tue, 10 Oct 2023 21:22:32 +0200 +Subject: [PATCH 13/14] fix initialization of CMakeLists and cleanup after bump + of min cmake version + +(cherry picked from commit f8023b362d1e285e202b29a1d3724eb93c910560) +--- + build/cmake/CMakeLists.txt | 43 ++++++---------------------- + build/cmake/testbuild/CMakeLists.txt | 12 ++------ + 2 files changed, 12 insertions(+), 43 deletions(-) + +diff --git a/build/cmake/CMakeLists.txt b/build/cmake/CMakeLists.txt +index 789c61a..c4d7581 100644 +--- a/build/cmake/CMakeLists.txt ++++ b/build/cmake/CMakeLists.txt +@@ -1,25 +1,12 @@ ++cmake_minimum_required(VERSION 3.16) ++project(glew LANGUAGES C) ++ + if ( NOT DEFINED CMAKE_BUILD_TYPE ) + set( CMAKE_BUILD_TYPE Release CACHE STRING "Build type" ) + endif () + +-project (glew C) +- +-cmake_minimum_required (VERSION 3.16) +- + include(GNUInstallDirs) + +-if(POLICY CMP0003) +- cmake_policy (SET CMP0003 NEW) +-endif() +- +-if(POLICY CMP0042) +- cmake_policy (SET CMP0042 NEW) +-endif() +- +-if (POLICY CMP0072) +- cmake_policy (SET CMP0072 NEW) +-endif(POLICY CMP0072) +- + set(CMAKE_DEBUG_POSTFIX d) + + option (BUILD_UTILS "utilities" ON) +@@ -49,14 +36,6 @@ set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) + + find_package (OpenGL REQUIRED) + +-# cmake<3.10 doesn't detect EGL/GLX +-if (CMAKE_VERSION VERSION_LESS 3.10) +- find_library(OPENGL_egl_LIBRARY NAMES EGL) +- if (OPENGL_egl_LIBRARY) +- set (OpenGL_EGL_FOUND TRUE) +- endif () +-endif () +- + # prefer GLVND + if (OPENGL_opengl_LIBRARY) + set (GLEW_LIBRARIES ${OPENGL_opengl_LIBRARY}) +@@ -174,15 +153,11 @@ endif() + target_link_libraries (glew LINK_PUBLIC ${GLEW_LIBRARIES}) + target_link_libraries (glew_s ${GLEW_LIBRARIES}) + +-if(CMAKE_VERSION VERSION_LESS 2.8.12) +- set(MAYBE_EXPORT "") +-else() +- target_compile_definitions(glew_s INTERFACE "GLEW_STATIC") +- foreach(t glew glew_s) +- target_include_directories(${t} PUBLIC $) +- endforeach() +- set(MAYBE_EXPORT EXPORT glew-targets) +-endif() ++target_compile_definitions(glew_s INTERFACE "GLEW_STATIC") ++foreach(t glew glew_s) ++ target_include_directories(${t} PUBLIC $) ++endforeach() ++set(MAYBE_EXPORT EXPORT glew-targets) + + set(targets_to_install "") + if(BUILD_SHARED_LIBS) +@@ -254,7 +229,7 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/glew.pc + COMPONENT Development + ) + +-if(WIN32 AND MSVC AND (NOT MSVC_VERSION LESS 1600) AND (NOT CMAKE_VERSION VERSION_LESS "3.1")) ++if(WIN32 AND MSVC AND (NOT MSVC_VERSION LESS 1600)) + install( + FILES $ + DESTINATION ${CMAKE_INSTALL_LIBDIR} +diff --git a/build/cmake/testbuild/CMakeLists.txt b/build/cmake/testbuild/CMakeLists.txt +index 15b9e52..1243478 100644 +--- a/build/cmake/testbuild/CMakeLists.txt ++++ b/build/cmake/testbuild/CMakeLists.txt +@@ -1,5 +1,5 @@ +-cmake_minimum_required(VERSION 2.8.12) +-project(glew-cmake-test) ++cmake_minimum_required(VERSION 3.16) ++project(glew-cmake-test LANGUAGES C) + + find_package(GLEW REQUIRED CONFIG) + find_package(GLEW REQUIRED CONFIG) # call twice to test multiple call +@@ -10,14 +10,8 @@ set_target_properties(cmake-test PROPERTIES DEBUG_POSTFIX _d) + target_link_libraries(cmake-test PRIVATE GLEW::GLEW ${OPENGL_LIBRARIES}) + target_include_directories(cmake-test PRIVATE ${OPENGL_INCLUDE_DIR}) + +-if(CMAKE_VERSION VERSION_LESS 3.0) +- set(cgex $) +-else() +- set(cgex $) +-endif() +- + target_compile_definitions(cmake-test PRIVATE +- -DGLEW_CMAKE_TEST_CONFIG=${cgex} ++ -DGLEW_CMAKE_TEST_CONFIG=$ + -DGLEW_CMAKE_TEST_TARGET_FILE_NAME=$ + -DGLEW_CMAKE_TEST_TARGET_TYPE=$ + ) +-- +2.47.1 + + +From 8916256c21f26f199d71060bbf031cc96bc2ec66 Mon Sep 17 00:00:00 2001 +From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> +Date: Tue, 10 Oct 2023 21:28:07 +0200 +Subject: [PATCH 14/14] more cleanup + +(cherry picked from commit f064fbfcb61ee6b8fc7e420b2d1b07d6b09cc49a) +--- + build/cmake/CMakeLists.txt | 21 +++++++++------------ + 1 file changed, 9 insertions(+), 12 deletions(-) + +diff --git a/build/cmake/CMakeLists.txt b/build/cmake/CMakeLists.txt +index c4d7581..5d7c287 100644 +--- a/build/cmake/CMakeLists.txt ++++ b/build/cmake/CMakeLists.txt +@@ -157,7 +157,6 @@ target_compile_definitions(glew_s INTERFACE "GLEW_STATIC") + foreach(t glew glew_s) + target_include_directories(${t} PUBLIC $) + endforeach() +-set(MAYBE_EXPORT EXPORT glew-targets) + + set(targets_to_install "") + if(BUILD_SHARED_LIBS) +@@ -167,7 +166,7 @@ else () + endif() + + install ( TARGETS ${targets_to_install} +- ${MAYBE_EXPORT} ++ EXPORT glew-targets + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT Runtime + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Runtime + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Development +@@ -243,16 +242,14 @@ install ( + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/GL + COMPONENT Development) + +-if(MAYBE_EXPORT) +- install(EXPORT glew-targets DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/glew +- COMPONENT Development +- NAMESPACE GLEW::) +- install(FILES +- ${CMAKE_CURRENT_SOURCE_DIR}/glew-config.cmake +- ${CMAKE_CURRENT_SOURCE_DIR}/CopyImportedTargetProperties.cmake +- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/glew +- COMPONENT Development) +-endif() ++install(EXPORT glew-targets DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/glew ++ COMPONENT Development ++ NAMESPACE GLEW::) ++install(FILES ++ ${CMAKE_CURRENT_SOURCE_DIR}/glew-config.cmake ++ ${CMAKE_CURRENT_SOURCE_DIR}/CopyImportedTargetProperties.cmake ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/glew ++ COMPONENT Development) + + if(NOT TARGET uninstall) + configure_file( +-- +2.47.1 + diff --git a/glew-2.2.0-mesa-24.patch b/glew-2.2.0-mesa-24.patch new file mode 100644 index 0000000..eba529b --- /dev/null +++ b/glew-2.2.0-mesa-24.patch @@ -0,0 +1,17 @@ +--- + glew-2.2.0/include/GL/glew.h | 2 ++ + 1 file changed, 2 insertions(+) + +--- glew-2.2.0/include/GL/glew.h ++++ glew-2.2.0/include/GL/glew.h 2024-03-20 12:42:28.712954164 +0000 +@@ -26408,8 +26408,10 @@ GLEWAPI const GLubyte * GLEWAPIENTRY gle + + #ifdef GLEW_APIENTRY_DEFINED + #undef GLEW_APIENTRY_DEFINED ++#ifndef GLAPIENTRY + #undef APIENTRY + #endif ++#endif + + #ifdef GLEW_CALLBACK_DEFINED + #undef GLEW_CALLBACK_DEFINED diff --git a/glew-2.2.0.tgz b/glew-2.2.0.tgz new file mode 100644 index 0000000..225bed1 --- /dev/null +++ b/glew-2.2.0.tgz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d4fc82893cfb00109578d0a1a2337fb8ca335b3ceccf97b97e5cc7f08e4353e1 +size 835861 diff --git a/glew.changes b/glew.changes new file mode 100644 index 0000000..9092106 --- /dev/null +++ b/glew.changes @@ -0,0 +1,483 @@ +------------------------------------------------------------------- +Tue Jan 7 10:29:38 UTC 2025 - Andreas Schneider + +- Allow to build GLEW with EGL support for Wayland +- Build GLEW with cmake +- Added glew-2.2.0-fix-cmake.patch + +------------------------------------------------------------------- +Wed Mar 20 12:43:24 UTC 2024 - Dr. Werner Fink + +- Add patch glew-2.2.0-mesa-24.patch + * Do not undefine APIENTRY macro if GLAPIENTRY is still defined + (boo#1221744) + +------------------------------------------------------------------- +Wed Mar 20 12:38:25 UTC 2024 - Dr. Werner Fink + +- Install missing header file (from david.lanzendoerfer@o2s.ch) + +------------------------------------------------------------------- +Sat Aug 21 16:26:33 UTC 2021 - Atri Bhattacharya + +- Revert building with EGL support, as it breaks mutliple apps + (boo#1189524). + +------------------------------------------------------------------- +Sat Jul 31 21:16:00 UTC 2021 - Atri Bhattacharya + +- Build with EGL support now that wxWidgets does so (since version + 3.1.5), otherwise wxWidgets 3.1.x widgets that make use of glew + crash (see for example, boo#1188519); add BuildRequires: + pkgconfig(egl) as well as the same Requires for devel package. + +------------------------------------------------------------------- +Mon Apr 27 17:15:03 UTC 2020 - Luigi Baldoni + +- Update to version 2.2.0 + Bug fixes: + * GL_EXT_semaphore constants + * Some const pointer fixups in OpenGL API + * Correction for GLEW_VERSION_4_5 + New extensions: + * GL_AMD_framebuffer_multisample_advanced + * GL_AMD_gpu_shader_half_float_fetch + * GL_AMD_shader_image_load_store_lod + * GL_ARM_texture_unnormalized_coordinates + * GL_DMP_program_binary + * GL_DMP_shader_binary + * GL_EXT_EGL_image_external_wrap_modes + * GL_EXT_EGL_image_storage + * GL_EXT_EGL_sync + * GL_EXT_clip_control + * GL_EXT_depth_clamp + * GL_EXT_disjoint_timer_query + * GL_EXT_draw_transform_feedback + * GL_EXT_multiview_tessellation_geometry_shader + * GL_EXT_multiview_texture_multisample + * GL_EXT_multiview_timer_query + * GL_EXT_occlusion_query_boolean + * GL_EXT_primitive_bounding_box + * GL_EXT_protected_textures + * GL_EXT_robustness + * GL_EXT_shader_framebuffer_fetch_non_coherent + * GL_EXT_static_vertex_array + * GL_EXT_tessellation_point_size + * GL_EXT_tessellation_shader + * GL_EXT_texture_border_clamp + * GL_EXT_texture_buffer + * GL_EXT_texture_compression_s3tc_srgb + * GL_EXT_texture_format_sRGB_override + * GL_EXT_texture_mirror_clamp_to_edge + * GL_EXT_texture_query_lod + * GL_EXT_texture_shadow_lod + * GL_FJ_shader_binary_GCCSO + * GL_IMG_bindless_texture + * GL_IMG_framebuffer_downsample + * GL_IMG_multisampled_render_to_texture + * GL_IMG_program_binary + * GL_IMG_read_format + * GL_IMG_shader_binary + * GL_IMG_texture_compression_pvrtc + * GL_IMG_texture_compression_pvrtc2 + * GL_IMG_texture_env_enhanced_fixed_function + * GL_IMG_texture_filter_cubic + * GL_INTEL_blackhole_render + * GL_INTEL_shader_integer_functions2 + * GL_KHR_shader_subgroup + * GL_MESA_framebuffer_flip_y + * GL_MESA_program_binary_formats + * GL_MESA_tile_raster_order + * GL_NVX_gpu_multicast2 + * GL_NVX_progress_fence + * GL_NV_compute_shader_derivatives + * GL_NV_conservative_raster_pre_snap + * GL_NV_conservative_raster_underestimation + * GL_NV_depth_nonlinear + * GL_NV_fragment_shader_barycentric + * GL_NV_memory_attachment + * GL_NV_mesh_shader + * GL_NV_query_resource_tag + * GL_NV_read_buffer + * GL_NV_read_buffer_front + * GL_NV_representative_fragment_test + * GL_NV_scissor_exclusive + * GL_NV_shader_subgroup_partitioned + * GL_NV_shader_texture_footprint + * GL_NV_shading_rate_image + * GL_NV_vdpau_interop2 + * GL_OES_EGL_image + * GL_OES_EGL_image_external + * GL_OES_EGL_image_external_essl3 + * GL_OES_blend_equation_separate + * GL_OES_blend_func_separate + * GL_OES_blend_subtract + * GL_OES_compressed_ETC1_RGB8_texture + * GL_OES_compressed_paletted_texture + * GL_OES_copy_image + * GL_OES_depth24 + * GL_OES_depth32 + * GL_OES_depth_texture + * GL_OES_depth_texture_cube_map + * GL_OES_draw_buffers_indexed + * GL_OES_draw_texture + * GL_OES_element_index_uint + * GL_OES_extended_matrix_palette + * GL_OES_fbo_render_mipmap + * GL_OES_fragment_precision_high + * GL_OES_framebuffer_object + * GL_OES_geometry_point_size + * GL_OES_geometry_shader + * GL_OES_get_program_binary + * GL_OES_gpu_shader5 + * GL_OES_mapbuffer + * GL_OES_matrix_get + * GL_OES_matrix_palette + * GL_OES_packed_depth_stencil + * GL_OES_point_size_array + * GL_OES_point_sprite + * GL_OES_read_format + * GL_OES_required_internalformat + * GL_OES_rgb8_rgba8 + * GL_OES_sample_shading + * GL_OES_sample_variables + * GL_OES_shader_image_atomic + * GL_OES_shader_io_blocks + * GL_OES_shader_multisample_interpolation + * GL_OES_single_precision + * GL_OES_standard_derivatives + * GL_OES_stencil1 + * GL_OES_stencil4 + * GL_OES_stencil8 + * GL_OES_surfaceless_context + * GL_OES_tessellation_point_size + * GL_OES_tessellation_shader + * GL_OES_texture_3D + * GL_OES_texture_border_clamp + * GL_OES_texture_buffer + * GL_OES_texture_compression_astc + * GL_OES_texture_cube_map + * GL_OES_texture_cube_map_array + * GL_OES_texture_env_crossbar + * GL_OES_texture_mirrored_repeat + * GL_OES_texture_npot + * GL_OES_texture_stencil8 + * GL_OES_texture_storage_multisample_2d_array + * GL_OES_texture_view + * GL_OES_vertex_array_object + * GL_OES_vertex_half_float + * GL_OES_vertex_type_10_10_10_2 + * GL_QCOM_YUV_texture_gather + * GL_QCOM_shader_framebuffer_fetch_rate + * GL_QCOM_texture_foveated + * GL_QCOM_texture_foveated_subsampled_layout + * GL_VIV_shader_binary + * EGL_ANDROID_GLES_layers + * EGL_ANDROID_get_frame_timestamps + * EGL_ANDROID_get_native_client_buffer + * EGL_ARM_image_format + * EGL_EXT_bind_to_front + * EGL_EXT_client_sync + * EGL_EXT_compositor + * EGL_EXT_gl_colorspace_display_p3 + * EGL_EXT_gl_colorspace_display_p3_linear + * EGL_EXT_gl_colorspace_display_p3_passthrough + * EGL_EXT_gl_colorspace_scrgb + * EGL_EXT_image_gl_colorspace + * EGL_EXT_image_implicit_sync_control + * EGL_EXT_surface_CTA861_3_metadata + * EGL_EXT_sync_reuse + * EGL_KHR_display_reference + * EGL_MESA_query_driver + * EGL_NV_context_priority_realtime + * EGL_NV_quadruple_buffer + * EGL_NV_stream_dma + * EGL_NV_stream_flush + * EGL_NV_stream_origin + * EGL_NV_triple_buffer + * EGL_WL_bind_wayland_display + * EGL_WL_create_wayland_buffer_from_image + * GLX_EXT_context_priority + * GLX_EXT_no_config_context + * GLX_NV_multigpu_context + * WGL_NV_multigpu_context +- New so_ver +- New source URL +- Build executables with PIE +- Spec cleanup + +------------------------------------------------------------------- +Sat Nov 11 05:01:16 UTC 2017 - aavindraa@gmail.com + +- Update to 2.1.0 + * Enhancements: + + OpenGL 4.6 support added + + Improved cmake build support + + Improved Mac OSX build support + * Bug fixes: + + Resovled crash when glXGetCurrentDisplay() is NULL + + CMake: only install PDB files with MSVC + + wglGetProcAddress crash with NOGDI defined + + Mac: using -Os rather than -O2 + * 33 new extensions +- move to github +- new so_ver + +------------------------------------------------------------------- +Wed Jul 12 11:15:21 UTC 2017 - jengelh@inai.de + +- RPM group fix. + +------------------------------------------------------------------- +Wed Jul 12 09:01:07 UTC 2017 - tchvatal@suse.com + +- Version update to 2.0 release: + * EGL support added + * Bunch of new GL extensions + * Forward context support added + * OSMesa support added + +------------------------------------------------------------------- +Tue Sep 22 18:47:35 UTC 2015 - jengelh@inai.de + +- Drop "glew" from baselibs.conf; there is nothing in this + subpackage that would be baselibbed by default. + +------------------------------------------------------------------- +Wed Sep 2 12:09:50 UTC 2015 - mpluskal@suse.com + +- Update to 1.13.0 + * Enhancements: + + glxewInit, wglewInit + + glewinfo adds support for -version, -profile + core|compatibility and -flag debug|forward parameters + + Improved cmake build support + * New extensions: + + GL_ARB_ES3_2_compatibility + + GL_ARB_fragment_shader_interlock + + GL_ARB_gpu_shader_int64 + + GL_ARB_parallel_shader_compile + + GL_ARB_post_depth_coverage + + GL_ARB_sample_locations + + GL_ARB_shader_atomic_counter_ops + + GL_ARB_shader_ballot + + GL_ARB_shader_clock + + GL_ARB_shader_viewport_layer_array + + GL_ARB_sparse_texture2 + + GL_ARB_sparse_texture_clamp + + GL_ARB_texture_filter_minmax + + GL_INTEL_framebuffer_CMAA + + GL_KHR_no_error + + GL_NV_conservative_raster_dilate + + GL_OVR_multiview + + GL_OVR_multiview2 + * Bug fixes + +------------------------------------------------------------------- +Sun Apr 12 18:58:12 UTC 2015 - mpluskal@suse.com + +- Remove devel package from baselibs.conf (discussed in boo#894331) + +------------------------------------------------------------------- +Wed Jan 28 13:32:21 UTC 2015 - mimi.vx@gmail.com + +- update of baselibs.conf + +------------------------------------------------------------------- +Wed Jan 28 10:59:03 UTC 2015 - mimi.vx@gmail.com + +- Version bump to 1.12.0 + * support for new extensions + *bugixes: + .pc -I flags inconsistent with *.h includes + Missing defines: GL_COPY_{READ|WRITE}_BUFFER_BINDING + multiple const GLchar *const* errors + PFNGLSHADERSOURCEPROC incorrect in 1.11.x + GL_GEOMETRY_SHADER & GL_FRAGMENT_SHADER + +------------------------------------------------------------------- +Fri Dec 5 08:33:45 UTC 2014 - tchvatal@suse.com + +- Version bump to 1.11.0: + * support for OpenGL 4.5 +- Removed patches no longer needed: + * glew-1.10.0-destdir.patch + +------------------------------------------------------------------- +Sun Sep 28 09:27:59 UTC 2014 - jengelh@inai.de + +- glew-devel-32bit failed to pull in libGLEW1_10-32bit +- own /usr/include/GL + +------------------------------------------------------------------- +Mon Sep 1 13:34:02 CEST 2014 - sbrabec@suse.cz + +- Fix baselibs.conf (bnc#894331). + +------------------------------------------------------------------- +Mon May 26 19:44:23 UTC 2014 - fstrba@suse.com + +- Upgrade to upstream 1.10.0 +- New patch: + * glew-1.10.0-destdir.patch: Sanitize Makefile + - Add DESTDIR option to avoid buildroot in .pc files + +------------------------------------------------------------------- +Wed Oct 24 22:38:00 UTC 2012 - thorstenb@flightgear.org + +- Fixed dependencies for openSUSE <= 12.1 + +------------------------------------------------------------------- +Mon Sep 24 22:46:35 UTC 2012 - adam@mizerski.pl + +- update to latest stable 1.9.0 + - removed 0001-Add-glew.c-glewinfo.c-and-includes.patch.bz2. + These files are included in tarball. +- Changed explicit glu dependency, to recommendation. There is + GLEW_NO_GLU option. +- added glew-devel to baselibs.conf +- spec cleanup + +------------------------------------------------------------------- +Tue Sep 18 13:40:47 UTC 2012 - idonmez@suse.com + +- Add explicit glu dependency + +------------------------------------------------------------------- +Tue Feb 21 18:38:08 UTC 2012 - johannesobermayr@gmx.de + +- Update to latest git version +- Remove obsolete dont-strip.diff + +------------------------------------------------------------------- +Mon Feb 20 17:28:12 CET 2012 - meissner@suse.de + +- buildrequire Xi and Xmu libs + +------------------------------------------------------------------- +Wed Dec 28 17:51:57 UTC 2011 - johannesobermayr@gmx.de + +- Do not merge es branch for now + * Fixes bnc #732438, #738519 + * Issue reported upstream + +------------------------------------------------------------------- +Sun Nov 13 14:16:19 UTC 2011 - johannesobermayr@gmx.de + +- Update to 1.7.0 and latest git +- Merge es branch + +------------------------------------------------------------------- +Thu Sep 29 13:20:07 UTC 2011 - coolo@suse.com + +- fix baselibs.conf + +------------------------------------------------------------------- +Thu Aug 18 17:52:07 UTC 2011 - crrodriguez@opensuse.org + +- Do not obsolete old library + +------------------------------------------------------------------- +Sat Aug 13 15:19:54 UTC 2011 - johannesobermayr@gmx.de + +- Update to 1.6.0 with two further commits +- Don't strip libraries + +------------------------------------------------------------------- +Fri May 27 13:30:13 UTC 2011 - coolo@novell.com + +- remove sublicenses + +------------------------------------------------------------------- +Sun Apr 24 12:59:34 UTC 2011 - toddrme2178@gmail.com + +- Add 32bit compatibility libraries + +------------------------------------------------------------------- +Sat Feb 5 01:32:40 UTC 2011 - davejplater@gmail.com + +- Update to version 1.5.8 +- Upstream changes: + *The latest release contains support for OpenGL 3.3, OpenGL 4.1 + and the following extensions: + OpenGL extensions, WGL extensions and GLX extensions. + *fixes minor bugs and adds two new extensions. + *Version 1.5.7 fixes minor bugs and adds one new extension. + +------------------------------------------------------------------- +Thu Sep 9 17:54:40 CEST 2010 - dimstar@opensuse.org + +- Update to version 1.5.6: + + Support for OpenGL 4.1 + + Support many new extensions. +- Changes from version 1.5.5: + + Support new extensions + + Bug fixes: + - Compilation issue with GLX_SGI_video_sync + - OpenGL 4.0 double-precision uniform functions added + - Constness of glPointParameterfvARB and glPointParameterfvEXT + - Added glVertexAttribDivisor + - Compilation issue with Nvidia GLX headers +- Changes from version 1.5.4: + + Support for OpenGL 3.3 and 4.0 + + Support new extensions + + Bug fixes: + - Parameter constness fix for glPointParameteriv and + glPointParameterfv +- Changes from version 1.5.3: + + New extensions: + - GLX_INTEL_swap_event, GL_AMD_seamless_cubemap_per_texture & + GL_AMD_shader_stencil_export + + Bug fixes: + - Correct version detection for GL 3.1 and 3.2 + - Missing 3.1 enumerants + - Add glew.pc +- Changes from version 1.5.2: + + Support for OpenGL 3.1 and 3.2 + + Many new extensions + + Bug fixes: + - DOS line endings for windows .zip archives only. + - glTransformFeedbackVaryings arguments. + - Resource leak in glewinfo and visualinfo tools. + - WIN32_LEAN_AND_MEAN preprocessor pollution. + - Fixed version detection for GLEW_VERSION_2_1 and + GLEW_VERSION_3_0. + - MesaGLUT glut.h GLAPIENTRY dependency. + - glFramebufferTextureLayer correction. + - OSX compiler warnings resolved. + - Cygwin linking to opengl32 by default, rather than X11 OpenGL + - SnowLeopard (OSX 10.6) gl.h detection. + - Use $(STRIP) consistently. ++ Add pkg-config BuildRequires. + +------------------------------------------------------------------- +Wed Aug 5 18:03:04 CEST 2009 - sbrabec@suse.cz + +- Updated to version 1.5.1: + * support for OpenGL 3.0 + * support for many new extensions + * bug fixes + +------------------------------------------------------------------- +Wed Feb 25 00:51:46 CET 2009 - crrodriguez@suse.de + +- static libraries are not usable and now removed. + +------------------------------------------------------------------- +Thu Mar 20 19:20:54 CET 2008 - sbrabec@suse.cz + +- Removed bad dependencies from libGLEW1_5 (bnc#372722). + +------------------------------------------------------------------- +Mon Jan 14 17:06:33 CET 2008 - sbrabec@suse.cz + +- Updated to version 1.5.0: + * less restrictive license + * minor fixes +- Split package according to the shared library packaging policy. + +------------------------------------------------------------------- +Thu Jul 12 17:35:17 CEST 2007 - sbrabec@suse.cz + +- New SuSE package, version 1.4.0. + diff --git a/glew.rpmlintrc b/glew.rpmlintrc new file mode 100644 index 0000000..48f34b7 --- /dev/null +++ b/glew.rpmlintrc @@ -0,0 +1,2 @@ +# because it's called libGLEW* +addFilter("no-dependency-on glew.*/glew-libs/libglew.*") diff --git a/glew.spec b/glew.spec new file mode 100644 index 0000000..32f5746 --- /dev/null +++ b/glew.spec @@ -0,0 +1,122 @@ +# +# spec file for package glew +# +# Copyright (c) 2025 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%bcond egl 0 + +# If you change so_ver, then you have to update baselibs.conf as well. +%define so_ver 2_2 +Name: glew +Version: 2.2.0 +Release: 0 +Summary: OpenGL Extension Wrangler Library +# was http://glew.sourceforge.net/ +License: BSD-3-Clause AND GPL-2.0-or-later AND MIT +Group: Development/Libraries/C and C++ +URL: https://github.com/nigels-com/glew +Source0: https://downloads.sourceforge.net/%{name}/%{name}-%{version}.tgz +Source1: baselibs.conf +Source2: %{name}.rpmlintrc +Patch0: glew-2.2.0-mesa-24.patch +# PATCH-FIX-UPSTREAM See (cherry picked from) line in the patch file from +# https://github.com/nigels-com/glew/commits/master/ +Patch1: glew-2.2.0-fix-cmake.patch +BuildRequires: cmake +BuildRequires: pkgconfig +%if %{with egl} +BuildRequires: pkgconfig(egl) +%endif +BuildRequires: pkgconfig(gl) +BuildRequires: pkgconfig(x11) +BuildRequires: pkgconfig(xext) +BuildRequires: pkgconfig(xi) +BuildRequires: pkgconfig(xmu) + +%description +The OpenGL Extension Wrangler Library (GLEW) is a cross-platform +open-source C/C++ extension loading library. GLEW provides efficient +run-time mechanisms for determining which OpenGL extensions are +supported on the target platform. OpenGL core and extension +functionality is exposed in a single header file. + +%package -n libGLEW%{so_ver} +Summary: OpenGL Extension Wrangler Library +Group: System/Libraries + +%description -n libGLEW%{so_ver} +The OpenGL Extension Wrangler Library (GLEW) is a cross-platform +open-source C/C++ extension loading library. GLEW provides efficient +run-time mechanisms for determining which OpenGL extensions are +supported on the target platform. OpenGL core and extension +functionality is exposed in a single header file. + +%package devel +Summary: Development files for glew +Group: Development/Libraries/C and C++ +Requires: libGLEW%{so_ver} = %{version} +%if %{with egl} +Requires: pkgconfig(egl) +%endif +Requires: pkgconfig(x11) +Requires: pkgconfig(xproto) +# Don't require GLU, because there is GLEW_NO_GLU option +Recommends: pkgconfig(glu) + +%description devel +The OpenGL Extension Wrangler Library (GLEW) is a cross-platform +open-source C/C++ extension loading library. GLEW provides efficient +run-time mechanisms for determining which OpenGL extensions are +supported on the target platform. OpenGL core and extension +functionality is exposed in a single header file. + +%prep +%autosetup -p1 + +%build +%define __sourcedir build/cmake +%cmake \ +%if %{with egl} + -DGLEW_EGL=ON \ +%endif + -DBUILD_UTILS=ON + +%cmake_build + +%install +%cmake_install + +%check + +%post -n libGLEW%{so_ver} -p /sbin/ldconfig +%postun -n libGLEW%{so_ver} -p /sbin/ldconfig + +%files +%license LICENSE.txt +%doc doc/* +%{_bindir}/glewinfo +%{_bindir}/visualinfo + +%files -n libGLEW%{so_ver} +%{_libdir}/libGLEW.so.* + +%files devel +%{_includedir}/GL/ +%{_libdir}/libGLEW.so +%{_libdir}/pkgconfig/glew.pc +%{_libdir}/cmake/glew/ + +%changelog