diff options
author | nathan <nathan_mail@nborghese.com> | 2024-06-01 19:55:24 -0400 |
---|---|---|
committer | John Kehayias <john.kehayias@protonmail.com> | 2024-11-05 11:56:25 -0500 |
commit | 8a602183ff40c02a88f5791427a93bf72b6463f0 (patch) | |
tree | a81ac73db30f9062f0d9ee2992f64775b18b7678 | |
parent | f0bf6994b036259af2bb604a8c1aef21becd1d29 (diff) | |
download | guix-8a602183ff40c02a88f5791427a93bf72b6463f0.tar.gz guix-8a602183ff40c02a88f5791427a93bf72b6463f0.zip |
gnu: volk: Hard-code path of vulkan-loader for dynamic loading
Until now, we’d get:
$ guix shell vulkan-tools -- vulkaninfo
ERROR at /tmp/guix-build-vulkan-tools-1.3.280.0.drv-0/source/vulkaninfo/./vulkaninfo.h:412: Failed to initialize: Vulkan loader is not installed, not found, or failed to load.
This patch fixes it and potentially for other programs as well.
* gnu/packages/vulkan.scm (volk)[arguments]: use gexp.
<#:phases>: Patch dlopen with libvulkan.so.
[input]: Add vulkan-loader.
Change-Id: I5ef0eb13d35e517b8947faddace641882a775b80
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
-rw-r--r-- | gnu/packages/vulkan.scm | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm index e76455a835..dd5b51c7fe 100644 --- a/gnu/packages/vulkan.scm +++ b/gnu/packages/vulkan.scm @@ -654,9 +654,19 @@ use the Vulkan API.") "0x4jhc8n9c4k8svmmcaxxs613xbsav7wam94gacddlm738cwp13v")))) (build-system cmake-build-system) (arguments - '(#:tests? #f ;no test - #:configure-flags '("-DVOLK_INSTALL=ON" "-DVOLK_PULL_IN_VULKAN=ON"))) - (inputs (list vulkan-headers)) + (list + #:tests? #f ;no test + #:configure-flags #~(list "-DVOLK_INSTALL=ON" "-DVOLK_PULL_IN_VULKAN=ON") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-loader-path + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "volk.c" + (("dlopen\\(\"libvulkan.so") + (string-append "dlopen(\"" + (search-input-file + inputs "/lib/libvulkan.so"))))))))) + (inputs (list vulkan-headers vulkan-loader)) (synopsis "Meta loader for Vulkan API") (description "Volk is a meta-loader for Vulkan. It allows you to dynamically load |