guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

25/45: gnu: mesa: Hardcode libvulkan.so's dependency for zink.


From: guix-commits
Subject: 25/45: gnu: mesa: Hardcode libvulkan.so's dependency for zink.
Date: Sun, 18 Feb 2024 08:41:07 -0500 (EST)

jpoiret pushed a commit to branch core-updates-glibc-2.39
in repository guix.

commit e2875b7bb894f3575b6e61daa9c1f5d5f4c14b84
Author: Josselin Poiret <dev@jpoiret.xyz>
AuthorDate: Fri Feb 2 16:53:44 2024 +0100

    gnu: mesa: Hardcode libvulkan.so's dependency for zink.
    
    * gnu/packages/gl.scm (mesa): Add vulkan-loader as an input.  Refer to its
    libvulkan.so.1 by full path in the zink gallium driver.
    
    Change-Id: I83ff787e6148a45b9403e578dd744f7eb85a221b
---
 gnu/packages/gl.scm | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index 5c3271d68c..9dd57295ba 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -325,6 +325,7 @@ also known as DXTn or DXTC) for Mesa.")
            libxrandr
            libxvmc
            llvm-for-mesa
+           vulkan-loader
            wayland
            wayland-protocols
            `(,zstd "lib")))
@@ -477,7 +478,7 @@ svga,swrast,virgl,zink")))
                  (_
                   '((display "No tests to disable on this 
architecture.\n"))))))
          (add-before 'configure 'fix-dlopen-libnames
-           (lambda _
+           (lambda* (#:key inputs #:allow-other-keys)
              (let ((out #$output))
                ;; Remain agnostic to .so.X.Y.Z versions while doing
                ;; the substitutions so we're future-safe.
@@ -493,7 +494,12 @@ svga,swrast,virgl,zink")))
                  ;; it's never installed since Mesa removed its
                  ;; egl_gallium support.
                  (("\"gbm_dri\\.so")
-                  (string-append "\"" out "/lib/dri/gbm_dri.so"))))))
+                  (string-append "\"" out "/lib/dri/gbm_dri.so")))
+               (substitute* "src/gallium/drivers/zink/zink_screen.c"
+                 (("util_dl_open\\(VK_LIBNAME\\)")
+                  (format #f "util_dl_open(\"~a\")"
+                          (search-input-file inputs
+                                             "lib/libvulkan.so.1")))))))
          (add-after 'install 'split-outputs
            (lambda _
              (let ((out #$output)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]