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.

(cherry picked from commit e2875b7bb894f3575b6e61daa9c1f5d5f4c14b84)

Change-Id: I83ff787e6148a45b9403e578dd744f7eb85a221b
This commit is contained in:
Josselin Poiret 2024-02-02 16:53:44 +01:00 committed by John Kehayias
parent 1d488861a0
commit 304d3d9644
No known key found for this signature in database
GPG key ID: 499097AE5EA815D9

View file

@ -327,6 +327,7 @@ (define-public mesa
libxrandr
libxvmc
llvm-for-mesa
vulkan-loader
wayland
wayland-protocols
`(,zstd "lib")))
@ -479,7 +480,7 @@ (define-public mesa
(_
'((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.
@ -495,7 +496,12 @@ (define-public mesa
;; 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)