summaryrefslogtreecommitdiff
path: root/dev-qt/qtbase/files/qtbase-6.5.2-no-glx.patch
diff options
context:
space:
mode:
Diffstat (limited to 'dev-qt/qtbase/files/qtbase-6.5.2-no-glx.patch')
-rw-r--r--dev-qt/qtbase/files/qtbase-6.5.2-no-glx.patch29
1 files changed, 29 insertions, 0 deletions
diff --git a/dev-qt/qtbase/files/qtbase-6.5.2-no-glx.patch b/dev-qt/qtbase/files/qtbase-6.5.2-no-glx.patch
new file mode 100644
index 000000000000..f8263d10c022
--- /dev/null
+++ b/dev-qt/qtbase/files/qtbase-6.5.2-no-glx.patch
@@ -0,0 +1,29 @@
+Fixes build with libglvnd[-X].
+
+https://github.com/qt/qtbase/commit/929d9a4ca5c9eb0a590479182471d0bbc81589aa
+From: Yaroslav Isakov <yaroslav.isakov@gmail.com>
+Date: Sat, 8 Jul 2023 22:09:40 +0200
+Subject: [PATCH] Allow OpenGL to be found on X11-less Linux systems (using
+ libOpenGL)
+
+Cmake supports finding OpenGL, even if there is no GLX (for glvnd) or
+old-style libGL. This change keeps old behavior, but in case, if
+X11-related OpenGL libraries cannot be found on Linux, it adds logic
+to check for (and link with) libOpenGL, if it is present.
+--- a/cmake/FindWrapOpenGL.cmake
++++ b/cmake/FindWrapOpenGL.cmake
+@@ -47,4 +47,14 @@
+ target_link_libraries(WrapOpenGL::WrapOpenGL INTERFACE OpenGL::GL)
+ endif()
++elseif(UNIX AND NOT APPLE AND NOT CMAKE_SYSTEM_NAME STREQUAL "Integrity")
++ # Requesting only the OpenGL component ensures CMake does not mark the package as
++ # not found if neither GLX nor libGL are available. This allows finding OpenGL
++ # on an X11-less Linux system.
++ find_package(OpenGL ${WrapOpenGL_FIND_VERSION} COMPONENTS OpenGL)
++ if (OpenGL_FOUND)
++ set(WrapOpenGL_FOUND ON)
++ add_library(WrapOpenGL::WrapOpenGL INTERFACE IMPORTED)
++ target_link_libraries(WrapOpenGL::WrapOpenGL INTERFACE OpenGL::OpenGL)
++ endif()
+ endif()
+