~ruther/guix-local

49101a6bbadfb3232c5425be611ecf2694f7d047 — Maxim Cournoyer 10 months ago 2fc5e81
gnu: wayland: Update to 1.24.0.

* gnu/packages/freedesktop.scm (wayland): Update to 1.24.0.
[arguments] <#:parallel-tests?>: Delete.
* gnu/packages/vulkan.scm (vulkan-tools) [source]: Apply patch.
* gnu/packages/patches/vulkan-tools-wayland-1.24.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.

Change-Id: I321ec682423cc12f320e56156305992349b4b6c6
M gnu/local.mk => gnu/local.mk +1 -0
@@ 2437,6 2437,7 @@ dist_patch_DATA =						\
  %D%/packages/patches/vtk-7-gcc-11-compat.patch		\
  %D%/packages/patches/vtk-7-hdf5-compat.patch			\
  %D%/packages/patches/vtk-7-python-compat.patch		\
  %D%/packages/patches/vulkan-tools-wayland-1.24.patch          \
  %D%/packages/patches/warsow-qfusion-fix-bool-return-type.patch	\
  %D%/packages/patches/warzone2100-unbundle-libs.patch		\
  %D%/packages/patches/wcstools-extend-makefiles.patch	\

M gnu/packages/freedesktop.scm => gnu/packages/freedesktop.scm +3 -4
@@ 1363,7 1363,7 @@ in and for C++.")
(define-public wayland
  (package
    (name "wayland")
    (version "1.23.1")
    (version "1.24.0")
    (source (origin
              (method url-fetch)
              (uri (string-append "https://gitlab.freedesktop.org/" name


@@ 1371,12 1371,11 @@ in and for C++.")
                                  name "-" version ".tar.xz"))
              (sha256
               (base32
                "1vg5h6d94hglh7724q6wx9dpg4y0afvxksankp1hwbcy76lb4kw6"))))
                "0dh5bldg24ajxz7xmylwm01nmj572x1vb0ya9qrppmhsl23j92c2"))))
    (build-system meson-build-system)
    (outputs '("out" "doc"))
    (arguments
     (list #:parallel-tests? #f
           #:phases
     (list #:phases
           #~(modify-phases %standard-phases
               (add-after 'install 'move-doc
                 (lambda _

A gnu/packages/patches/vulkan-tools-wayland-1.24.patch => gnu/packages/patches/vulkan-tools-wayland-1.24.patch +100 -0
@@ 0,0 1,100 @@
From f546743016f5301c063f2c50af0ea43dd2485ef4 Mon Sep 17 00:00:00 2001
From: Charles Giessen <charles@lunarg.com>
Date: Thu, 17 Jul 2025 09:56:40 -0500
Subject: [PATCH] build: Remove pkg-config provided library names

The library names of Xcb, Xlib, and Wayland do not need to be queried from pkg-config,
instead they can be hardcoded to use the fallback names.

The intent of querying the library names was to prevent issues where the hardcoded name
was not the platform-appropriate name. But because <library>_LINK_LIBRARIES can have
more than one library name, the logic to assign <library>_LINK_LIBRARIES into a compile
definition breaks horribly. While it is possible to handle this in CMake, the dlopen code would
also have to handle it which is much more error prone.
---
 cube/CMakeLists.txt   | 20 --------------------
 cube/wayland_loader.h |  3 ---
 cube/xcb_loader.h     |  3 ---
 cube/xlib_loader.h    |  3 ---
 4 files changed, 29 deletions(-)

diff --git a/cube/CMakeLists.txt b/cube/CMakeLists.txt
index 7e135e79b..dac6bfed9 100644
--- a/cube/CMakeLists.txt
+++ b/cube/CMakeLists.txt
@@ -307,16 +307,6 @@ if (ANDROID)
     return()
 endif()
 
-if (XCB_LINK_LIBRARIES)
-    target_compile_definitions(vkcube PRIVATE "XCB_LIBRARY=\"${XCB_LINK_LIBRARIES}\"")
-endif()
-if (X11_LINK_LIBRARIES)
-    target_compile_definitions(vkcube PRIVATE "XLIB_LIBRARY=\"${X11_LINK_LIBRARIES}\"")
-endif()
-if (WAYLAND_CLIENT_LINK_LIBRARIES)
-    target_compile_definitions(vkcube PRIVATE "WAYLAND_LIBRARY=\"${WAYLAND_CLIENT_LINK_LIBRARIES}\"")
-endif()
-
 # ----------------------------------------------------------------------------
 # vkcubepp
 
@@ -360,16 +350,6 @@ target_include_directories(vkcubepp PRIVATE .)
 target_compile_definitions(vkcubepp PRIVATE ${ENABLED_CUBE_PLATFORMS})
 target_link_libraries(vkcubepp ${CMAKE_DL_LIBS} Vulkan::Headers)
 
-if (XCB_LINK_LIBRARIES )
-    target_compile_definitions(vkcubepp PUBLIC "XCB_LIBRARY=\"${XCB_LINK_LIBRARIES}\"")
-endif()
-if (X11_LINK_LIBRARIES)
-    target_compile_definitions(vkcubepp PUBLIC "XLIB_LIBRARY=\"${X11_LINK_LIBRARIES}\"")
-endif()
-if (WAYLAND_CLIENT_LINK_LIBRARIES)
-    target_compile_definitions(vkcubepp PUBLIC "WAYLAND_LIBRARY=\"${WAYLAND_CLIENT_LINK_LIBRARIES}\"")
-endif()
-
 if(APPLE)
     install(
         TARGETS vkcubepp
diff --git a/cube/wayland_loader.h b/cube/wayland_loader.h
index 2afab6e97..7d7d91412 100644
--- a/cube/wayland_loader.h
+++ b/cube/wayland_loader.h
@@ -80,9 +80,6 @@ static PFN_wl_display_disconnect cube_wl_display_disconnect = NULL;
 
 static inline void *initialize_wayland() {
     void *wayland_library = NULL;
-#if defined(WAYLAND_LIBRARY)
-    wayland_library = dlopen(WAYLAND_LIBRARY, RTLD_NOW | RTLD_LOCAL);
-#endif
     if (NULL == wayland_library) {
         wayland_library = dlopen("libwayland-client.so.0", RTLD_NOW | RTLD_LOCAL);
     }
diff --git a/cube/xcb_loader.h b/cube/xcb_loader.h
index a94d5ab56..cecd25402 100644
--- a/cube/xcb_loader.h
+++ b/cube/xcb_loader.h
@@ -88,9 +88,6 @@ static PFN_xcb_screen_next cube_xcb_screen_next = NULL;
 
 void *initialize_xcb() {
     void *xcb_library = NULL;
-#if defined(XCB_LIBRARY)
-    xcb_library = dlopen(XCB_LIBRARY, RTLD_NOW | RTLD_LOCAL);
-#endif
     if (NULL == xcb_library) {
         xcb_library = dlopen("libxcb.so.1", RTLD_NOW | RTLD_LOCAL);
     }
diff --git a/cube/xlib_loader.h b/cube/xlib_loader.h
index c7874d0e7..881789f18 100644
--- a/cube/xlib_loader.h
+++ b/cube/xlib_loader.h
@@ -72,9 +72,6 @@ static PFN_XFlush cube_XFlush = NULL;
 
 void* initialize_xlib() {
     void* xlib_library = NULL;
-#if defined(XLIB_LIBRARY)
-    xlib_library = dlopen(XLIB_LIBRARY, RTLD_NOW | RTLD_LOCAL);
-#endif
     if (NULL == xlib_library) {
         xlib_library = dlopen("libX11.so.6", RTLD_NOW | RTLD_LOCAL);
     }

M gnu/packages/vulkan.scm => gnu/packages/vulkan.scm +1 -0
@@ 456,6 456,7 @@ and the ICD.")
                    ;; Disable driver info test since it relies on git branch info
                    (("ASSERT_EQ\\(std::string\\(driver_properties\\.driverInfo\\)")
                     "// ASSERT_EQ(std::string(driver_properties.driverInfo)")))
       (patches (search-patches "vulkan-tools-wayland-1.24.patch"))
       (sha256
        (base32
         "152sl309k2lw38x6r15ddyf55dn1wc26pf1idd73nd5x2ax5bd73"))))