From ee4581690b6486a65bf0e4faed3f2c88cac70d9e Mon Sep 17 00:00:00 2001 Message-ID: From: nathan Date: Sat, 1 Jun 2024 19:55:24 -0400 Subject: [PATCH] gnu: volk: Hard-code path of vulkan-loader for dynamic loading * gnu/packages/vulkan.scm (volk): [arguments]: use gexp. <#:phases>: patch dlopen with libvulkan.so. fixes vulkan-tools and potentially other programs too. [input]: add vulkan-loader Change-Id: I5ef0eb13d35e517b8947faddace641882a775b80 --- gnu/packages/vulkan.scm | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm index 4c53a19aba..215a592266 100644 --- a/gnu/packages/vulkan.scm +++ b/gnu/packages/vulkan.scm @@ -568,9 +568,18 @@ (define-public volk "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(\"" (assoc-ref inputs "vulkan-loader") + "/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 base-commit: fa7906d64881ee12e0c418136b44c73766e3d169 -- 2.45.1