From 4347d8dee515d4e37588cba0a6ce1afdae074c3a Mon Sep 17 00:00:00 2001 From: Sefa Eyeoglu Date: Thu, 21 Nov 2024 22:50:30 +0100 Subject: [PATCH] glfw3: add missing X11 substitutions libX11-xcb.so.1 and libXxf86vm.so.1 are dlopen-ed at runtime, but are not linked by the linker. Let's hardcode their library paths into the code. Signed-off-by: Sefa Eyeoglu --- pkgs/by-name/gl/glfw3/package.nix | 2 ++ pkgs/by-name/gl/glfw3/x11.patch | 7 +++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/gl/glfw3/package.nix b/pkgs/by-name/gl/glfw3/package.nix index d597d79aaa61..da53f5dc447e 100644 --- a/pkgs/by-name/gl/glfw3/package.nix +++ b/pkgs/by-name/gl/glfw3/package.nix @@ -11,6 +11,7 @@ , libX11 , libXi , libXext +, libXxf86vm , darwin , fixDarwinDylibNames , wayland @@ -59,6 +60,7 @@ stdenv.mkDerivation { libXcursor libXi libXext + libXxf86vm ]; postPatch = lib.optionalString stdenv.hostPlatform.isLinux '' diff --git a/pkgs/by-name/gl/glfw3/x11.patch b/pkgs/by-name/gl/glfw3/x11.patch index 5cadf53bfe70..2471814f219f 100644 --- a/pkgs/by-name/gl/glfw3/x11.patch +++ b/pkgs/by-name/gl/glfw3/x11.patch @@ -2,17 +2,20 @@ diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index a0be580e..ba143851 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt -@@ -219,6 +219,13 @@ if (GLFW_BUILD_X11) +@@ -219,6 +219,16 @@ if (GLFW_BUILD_X11) if (NOT X11_Xshape_INCLUDE_PATH) message(FATAL_ERROR "X Shape headers not found; install libxext development package") endif() + + target_link_libraries(glfw PRIVATE ${X11_Xrandr_LIB} + ${X11_Xinerama_LIB} ++ ${X11_X11_xcb_LIB} ++ ${X11_Xrender_LIB} + ${X11_Xkb_LIB} + ${X11_Xcursor_LIB} + ${X11_Xi_LIB} -+ ${X11_Xshape_LIB}) ++ ${X11_Xxf86vm_LIB} ++ ${X11_Xext_LIB}) endif() if (UNIX AND NOT APPLE)