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