On Sat, 2024-11-23 at 14:20 -0700, Kurt Mosiejczuk wrote:
> CVSROOT:      /cvs
> Module name:  ports
> Changes by:   [email protected]    2024/11/23 14:20:10
> 
> Modified files:
>       graphics/glfw  : Makefile distinfo 
> 
> Log message:
> Update glfw to 3.4
> 
> This update introduces compilation of multiple backends at once and
> picking the runtime with environment variables. It defaults to X
> but now has Wayland support.
> 

This does not build, it needs xkbcommon.

-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.2")
-- Checking for modules 
'wayland-client>=0.2.7;wayland-cursor>=0.2.7;wayland-egl>=0.2.7;xkbcommon>=0.5.0'
--   
CMake Error at /usr/local/share/cmake/Modules/FindPkgConfig.cmake:645 (message):
  The following required packages were not found:

   - xkbcommon>=0.5.0

Call Stack (most recent call first):
  /usr/local/share/cmake/Modules/FindPkgConfig.cmake:873 
(_pkg_check_modules_internal)
  src/CMakeLists.txt:163 (pkg_check_modules)


-- Configuring incomplete, errors occurred!



Also it seems to dlopen libs with a versioned sofile.
So maybe this patch is needed and the accroding LIB_DEPENDS + WANTLIB (even if 
not linked) must be set.

Index: src/wl_init.c
--- src/wl_init.c.orig
+++ src/wl_init.c
@@ -511,7 +511,7 @@ GLFWbool _glfwConnectWayland(int platformID, _GLFWplat
         .createWindowSurface = _glfwCreateWindowSurfaceWayland
     };
 
-    void* module = _glfwPlatformLoadModule("libwayland-client.so.0");
+    void* module = _glfwPlatformLoadModule("libwayland-client.so");
     if (!module)
     {
         if (platformID == GLFW_PLATFORM_WAYLAND)
@@ -624,7 +624,7 @@ int _glfwInitWayland(void)
         return GLFW_FALSE;
     }
 
-    _glfw.wl.cursor.handle = _glfwPlatformLoadModule("libwayland-cursor.so.0");
+    _glfw.wl.cursor.handle = _glfwPlatformLoadModule("libwayland-cursor.so");
     if (!_glfw.wl.cursor.handle)
     {
         _glfwInputError(GLFW_PLATFORM_ERROR,
@@ -641,7 +641,7 @@ int _glfwInitWayland(void)
     _glfw.wl.cursor.image_get_buffer = (PFN_wl_cursor_image_get_buffer)
         _glfwPlatformGetModuleSymbol(_glfw.wl.cursor.handle, 
"wl_cursor_image_get_buffer");
 
-    _glfw.wl.egl.handle = _glfwPlatformLoadModule("libwayland-egl.so.1");
+    _glfw.wl.egl.handle = _glfwPlatformLoadModule("libwayland-egl.so");
     if (!_glfw.wl.egl.handle)
     {
         _glfwInputError(GLFW_PLATFORM_ERROR,
@@ -656,7 +656,7 @@ int _glfwInitWayland(void)
     _glfw.wl.egl.window_resize = (PFN_wl_egl_window_resize)
         _glfwPlatformGetModuleSymbol(_glfw.wl.egl.handle, 
"wl_egl_window_resize");
 
-    _glfw.wl.xkb.handle = _glfwPlatformLoadModule("libxkbcommon.so.0");
+    _glfw.wl.xkb.handle = _glfwPlatformLoadModule("libxkbcommon.so");
     if (!_glfw.wl.xkb.handle)
     {
         _glfwInputError(GLFW_PLATFORM_ERROR,
@@ -732,7 +732,7 @@ int _glfwInitWayland(void)
     }
 
     if (_glfw.hints.init.wl.libdecorMode == GLFW_WAYLAND_PREFER_LIBDECOR)
-        _glfw.wl.libdecor.handle = _glfwPlatformLoadModule("libdecor-0.so.0");
+        _glfw.wl.libdecor.handle = _glfwPlatformLoadModule("libdecor-0.so");
 
     if (_glfw.wl.libdecor.handle)


-- 
Antoine

Reply via email to