* [bug#71109] [PATCH] gnu: vulkan-tools: Wrap binaries with LD_LIBRARY_PATH.
@ 2024-05-22 9:36 Sughosha via Guix-patches via
2024-05-26 18:51 ` Kaelyn via Guix-patches via
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Sughosha via Guix-patches via @ 2024-05-22 9:36 UTC (permalink / raw)
To: 71109; +Cc: Sughosha
This fixes not finding vulkan-loader.
* gnu/packages/vulkan.scm (vulkan-tools)[arguments]<#:phases>:
Wrap-binaries with LD_LIBRARY_PATH.
Change-Id: I9aaf1cf04f70f1da976fa84d2189ca2c01b9520f
---
gnu/packages/vulkan.scm | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 4c53a19aba..dcf97e98dd 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -368,7 +368,16 @@ (define-public vulkan-tools
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
- (invoke "./tests/vulkan_tools_tests")))))))
+ (invoke "./tests/vulkan_tools_tests"))))
+ (add-after 'install 'wrap-binaries
+ (lambda* (#:key outputs #:allow-other-keys)
+ (for-each
+ (lambda (file)
+ (wrap-program file
+ `("LD_LIBRARY_PATH" ":" =
+ (,(getenv "LIBRARY_PATH")))))
+ (find-files (string-append (assoc-ref outputs "out")
+ "/bin"))))))))
(home-page
"https://github.com/KhronosGroup/Vulkan-Tools")
(synopsis "Tools and utilities for Vulkan")
base-commit: e9b25a6c6c626a560d28a1f732e6e5d362d584a4
--
2.41.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [bug#71109] [PATCH] gnu: vulkan-tools: Wrap binaries with LD_LIBRARY_PATH.
2024-05-22 9:36 [bug#71109] [PATCH] gnu: vulkan-tools: Wrap binaries with LD_LIBRARY_PATH Sughosha via Guix-patches via
@ 2024-05-26 18:51 ` Kaelyn via Guix-patches via
2024-05-31 10:38 ` Ludovic Courtès
2024-06-02 1:19 ` nathan via Guix-patches via
2 siblings, 0 replies; 8+ messages in thread
From: Kaelyn via Guix-patches via @ 2024-05-26 18:51 UTC (permalink / raw)
To: 71109@debbugs.gnu.org
Hi,
This patch looks good to me, and I've confirmed it fixes the issue with vulkaninfo not running.
I am curious though as to what caused vulkaninfo to need LD_LIBRARY_PATH, as before the the vulkan updates a couple of months ago (at least as of gitish 4d79a9c from early April), vulkaninfo worked fine without needing LD_LIBRARY_PATH set. The new need does have me a bit concerned that other vulkan apps which used to work may need a similar workaround to keep functioning as expected.
Cheers,
Kaelyn
^ permalink raw reply [flat|nested] 8+ messages in thread
* [bug#71109] [PATCH] gnu: vulkan-tools: Wrap binaries with LD_LIBRARY_PATH.
2024-05-22 9:36 [bug#71109] [PATCH] gnu: vulkan-tools: Wrap binaries with LD_LIBRARY_PATH Sughosha via Guix-patches via
2024-05-26 18:51 ` Kaelyn via Guix-patches via
@ 2024-05-31 10:38 ` Ludovic Courtès
2024-05-31 15:21 ` Sughosha via Guix-patches via
2024-05-31 16:47 ` Kaelyn via Guix-patches via
2024-06-02 1:19 ` nathan via Guix-patches via
2 siblings, 2 replies; 8+ messages in thread
From: Ludovic Courtès @ 2024-05-31 10:38 UTC (permalink / raw)
To: Sughosha; +Cc: 71109, Kaelyn
Hi,
Sughosha <sughosha@disroot.org> skribis:
> This fixes not finding vulkan-loader.
Could you show how to test it?
> + (wrap-program file
> + `("LD_LIBRARY_PATH" ":" =
> + (,(getenv "LIBRARY_PATH")))))
This is probably a bit too broad because LIBRARY_PATH includes
build-time-only dependencies (python, gawk, binutils, bzip2, etc.).
Could we explicitly list what needs to be there instead?
Also maybe change ‘=’ to ‘suffix’ so users can still override
LD_LIBRARY_PATH.
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [bug#71109] [PATCH] gnu: vulkan-tools: Wrap binaries with LD_LIBRARY_PATH.
2024-05-31 10:38 ` Ludovic Courtès
@ 2024-05-31 15:21 ` Sughosha via Guix-patches via
2024-05-31 16:47 ` Kaelyn via Guix-patches via
1 sibling, 0 replies; 8+ messages in thread
From: Sughosha via Guix-patches via @ 2024-05-31 15:21 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: 71109, Kaelyn
On Friday, May 31, 2024 4:08:53 PM IST Ludovic Courtès wrote:
> Hi,
>
> Sughosha <sughosha@disroot.org> skribis:
> > This fixes not finding vulkan-loader.
>
> Could you show how to test it?
>
> > + (wrap-program file
> > + `("LD_LIBRARY_PATH" ":" =
> > + (,(getenv "LIBRARY_PATH")))))
>
> This is probably a bit too broad because LIBRARY_PATH includes
> build-time-only dependencies (python, gawk, binutils, bzip2, etc.).
>
> Could we explicitly list what needs to be there instead?
>
> Also maybe change ‘=’ to ‘suffix’ so users can still override
> LD_LIBRARY_PATH.
>
> Thanks,
> Ludo’.
Hi,
Thanks for your review!
> Could you show how to test it?
Currently if I just run `vulkaninfo`, this error appears:
```
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.
```
I don't know if something should be patched before building itself.
But if I run: `LD_LIBRARY_PATH=$(guix build vulkan-loader)/lib vulkaninfo`,
the program will be executed without any error.
> This is probably a bit too broad because LIBRARY_PATH includes
> build-time-only dependencies (python, gawk, binutils, bzip2, etc.).
If I wrap only with vulkan-loader's library path also, it works. But would it
be a "right" way of wrapping a program.
> Also maybe change ‘=’ to ‘suffix’ so users can still override
Yes, you are right. I will change it.
--
Sughosha
^ permalink raw reply [flat|nested] 8+ messages in thread
* [bug#71109] [PATCH] gnu: vulkan-tools: Wrap binaries with LD_LIBRARY_PATH.
2024-05-31 10:38 ` Ludovic Courtès
2024-05-31 15:21 ` Sughosha via Guix-patches via
@ 2024-05-31 16:47 ` Kaelyn via Guix-patches via
1 sibling, 0 replies; 8+ messages in thread
From: Kaelyn via Guix-patches via @ 2024-05-31 16:47 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: 71109, Sughosha
Hi,
On Friday, May 31st, 2024 at 3:38 AM, Ludovic Courtès <ludo@gnu.org> wrote:
>
>
> Hi,
>
> Sughosha sughosha@disroot.org skribis:
>
> > This fixes not finding vulkan-loader.
>
>
> Could you show how to test it?
At least for me, the problem shows up simply with vulkan-tools installed (or using "guix shell vulkan-tools") using a guix commit after the latest (1.3.280) vulkan updates. Simply running "vulkaninfo" results in the error:
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.
>
> > + (wrap-program file
> > + `("LD_LIBRARY_PATH" ":" =
> > + (,(getenv "LIBRARY_PATH")))))
>
>
> This is probably a bit too broad because LIBRARY_PATH includes
> build-time-only dependencies (python, gawk, binutils, bzip2, etc.).
>
> Could we explicitly list what needs to be there instead?
A bit of local testing just now suggests setting LD_LIBRARY_PATH to the vulkan-loader package's lib dir should be enough to resolve the error.
Cheers,
Kaelyn
> Also maybe change ‘=’ to ‘suffix’ so users can still override
> LD_LIBRARY_PATH.
>
> Thanks,
> Ludo’.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [bug#71109] [PATCH] gnu: vulkan-tools: Wrap binaries with LD_LIBRARY_PATH.
2024-05-22 9:36 [bug#71109] [PATCH] gnu: vulkan-tools: Wrap binaries with LD_LIBRARY_PATH Sughosha via Guix-patches via
2024-05-26 18:51 ` Kaelyn via Guix-patches via
2024-05-31 10:38 ` Ludovic Courtès
@ 2024-06-02 1:19 ` nathan via Guix-patches via
2024-06-11 21:27 ` bug#71109: " Ludovic Courtès
2024-06-11 22:02 ` [bug#71109] " Ludovic Courtès
2 siblings, 2 replies; 8+ messages in thread
From: nathan via Guix-patches via @ 2024-06-02 1:19 UTC (permalink / raw)
To: sughosha, 71109
[-- Attachment #1: Type: text/plain, Size: 533 bytes --]
commit e156996c478a8e5d040ccf199437bcdbdbab63ed in vulkan-tools makes it
use volk to load vulkan instead of a bunch of custom code in the repo.
volk uses dlopen("libvulkan.so.1").
i dont remember volk ever working, so this just propagated the bug to
another program.
attached is a patch to hard-code the libvulkan.so path into volk.
vulkan-headers also has dlopen for libvulkan.so.
i dont know which programs use it, but next time we have to rebuild
everything we may as well patch it.
i attached a patch that shows how to do it.
[-- Attachment #2: 0001-example-of-how-to-patch-patch-of-vulkan-loader-into-.patch --]
[-- Type: text/x-patch, Size: 2709 bytes --]
From 811d7567098e00711ee4c9c80afbe544ebe1c08e Mon Sep 17 00:00:00 2001
Message-ID: <811d7567098e00711ee4c9c80afbe544ebe1c08e.1717290934.git.nathan_mail@nborghese.com>
From: nathan <nathan_mail@nborghese.com>
Date: Sat, 1 Jun 2024 21:14:13 -0400
Subject: [PATCH] example of how to patch patch of vulkan-loader into
vulkan-headers
Change-Id: Ic674a4d965d8049e388d75137111ed0253ca3b18
---
gnu/packages/vulkan.scm | 24 ++++++++++++++++++++++--
1 file changed, 22 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 4c53a19aba..2fc2feeeba 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -238,7 +238,8 @@ (define-public glslang
;; include/SPIRV/{bitutils,hex_float}.h are Apache 2.0.
license:asl2.0))))
-(define-public vulkan-headers
+;; vulkan-headers, but without the path to vulkan-loader patched in.
+(define vulkan-headers/no-loader
(package
(name "vulkan-headers")
(version "1.3.280.0")
@@ -255,6 +256,7 @@ (define-public vulkan-headers
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ; No tests.
+ (properties '((hidden? . #t)))
(home-page
"https://github.com/KhronosGroup/Vulkan-Headers")
(synopsis "Vulkan Header files and API registry")
@@ -262,6 +264,24 @@ (define-public vulkan-headers
"Vulkan-Headers contains header files and API registry for Vulkan.")
(license (list license:asl2.0)))) ;LICENSE.txt
+(define-public vulkan-headers
+ (package
+ (inherit vulkan-headers/no-loader)
+ (arguments
+ (substitute-keyword-arguments (package-arguments vulkan-headers/no-loader)
+ ((#:phases phases #~%standard-phases)
+ #~(modify-phases #$phases
+ (add-after 'unpack 'patch-loader-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "include/vulkan/vulkan.hpp"
+ (("dlopen\\( \"libvulkan.so")
+ (string-append "dlopen(\"" (assoc-ref inputs "vulkan-loader")
+ "/lib/libvulkan.so")))))))))
+ (inputs
+ (modify-inputs (package-inputs vulkan-headers/no-loader)
+ (prepend vulkan-loader)))
+ (properties '())))
+
(define-public vulkan-loader
(package
(name "vulkan-loader")
@@ -318,7 +338,7 @@ (define-public vulkan-loader
python
wayland))
(inputs
- (list vulkan-headers libxrandr))
+ (list vulkan-headers/no-loader libxrandr))
(native-search-paths
(list (search-path-specification
(variable "XDG_DATA_DIRS")
base-commit: fa7906d64881ee12e0c418136b44c73766e3d169
--
2.45.1
[-- Attachment #3: 0001-gnu-volk-Hard-code-path-of-vulkan-loader-for-dynamic.patch --]
[-- Type: text/x-patch, Size: 1944 bytes --]
From ee4581690b6486a65bf0e4faed3f2c88cac70d9e Mon Sep 17 00:00:00 2001
Message-ID: <ee4581690b6486a65bf0e4faed3f2c88cac70d9e.1717286310.git.nathan_mail@nborghese.com>
From: nathan <nathan_mail@nborghese.com>
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
^ permalink raw reply related [flat|nested] 8+ messages in thread
* bug#71109: [PATCH] gnu: vulkan-tools: Wrap binaries with LD_LIBRARY_PATH.
2024-06-02 1:19 ` nathan via Guix-patches via
@ 2024-06-11 21:27 ` Ludovic Courtès
2024-06-11 22:02 ` [bug#71109] " Ludovic Courtès
1 sibling, 0 replies; 8+ messages in thread
From: Ludovic Courtès @ 2024-06-11 21:27 UTC (permalink / raw)
To: nathan; +Cc: 71109-done, sughosha
Hi nathan and all,
nathan <nathan_mail@nborghese.com> skribis:
> From 811d7567098e00711ee4c9c80afbe544ebe1c08e Mon Sep 17 00:00:00 2001
> Message-ID: <811d7567098e00711ee4c9c80afbe544ebe1c08e.1717290934.git.nathan_mail@nborghese.com>
> From: nathan <nathan_mail@nborghese.com>
> Date: Sat, 1 Jun 2024 21:14:13 -0400
> Subject: [PATCH] example of how to patch patch of vulkan-loader into
> vulkan-headers
>
> Change-Id: Ic674a4d965d8049e388d75137111ed0253ca3b18
[...]
> From ee4581690b6486a65bf0e4faed3f2c88cac70d9e Mon Sep 17 00:00:00 2001
> Message-ID: <ee4581690b6486a65bf0e4faed3f2c88cac70d9e.1717286310.git.nathan_mail@nborghese.com>
> From: nathan <nathan_mail@nborghese.com>
> 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
These two patches make sense to me.
I applied them with minor tweaks: using ‘search-input-file’ rather than
‘assoc-ref’ in build phases, and commit log modifications to match our
conventions.
Thank you!
Ludo’.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [bug#71109] [PATCH] gnu: vulkan-tools: Wrap binaries with LD_LIBRARY_PATH.
2024-06-02 1:19 ` nathan via Guix-patches via
2024-06-11 21:27 ` bug#71109: " Ludovic Courtès
@ 2024-06-11 22:02 ` Ludovic Courtès
1 sibling, 0 replies; 8+ messages in thread
From: Ludovic Courtès @ 2024-06-11 22:02 UTC (permalink / raw)
To: nathan; +Cc: John Kehayias, 71109, sughosha
[-- Attachment #1: Type: text/plain, Size: 359 bytes --]
Hi,
I spoke a bit too fast: given that many packages depend on
‘vulkan-headers’, this should be applied on a branch.
Attached as the updated patches.
John, could you apply them on the ‘mesa-updates’ branch? (I realized
there’s no formal ‘mesa’ team contrary to what I thought; perhaps there
should be one?).
Thanks,
Ludo’.
[-- Attachment #2: 0001-gnu-vulkan-headers-Hard-code-libvulkan.so-file-name.patch --]
[-- Type: text/x-patch, Size: 3140 bytes --]
From 577a58ac4d23e7fa749fddb3007a3ad14c40f38d Mon Sep 17 00:00:00 2001
Message-ID: <577a58ac4d23e7fa749fddb3007a3ad14c40f38d.1718143100.git.ludo@gnu.org>
From: nathan <nathan_mail@nborghese.com>
Date: Sat, 1 Jun 2024 21:14:13 -0400
Subject: [PATCH 1/2] gnu: vulkan-headers: Hard-code libvulkan.so file name.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* gnu/packages/vulkan.scm (vulkan-headers): Rename to…
(vulkan-headers/no-loader): … this.
(vulkan-headers): New variable.
(vulkan-loader): Depend on ‘vulkan-headers/no-loader’.
Change-Id: Ic674a4d965d8049e388d75137111ed0253ca3b18
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
---
gnu/packages/vulkan.scm | 25 +++++++++++++++++++++++--
1 file changed, 23 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 25542c1e064..5ff47be92e2 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -246,7 +246,8 @@ (define-public glslang
;; include/SPIRV/{bitutils,hex_float}.h are Apache 2.0.
license:asl2.0))))
-(define-public vulkan-headers
+;; vulkan-headers, but without the path to vulkan-loader patched in.
+(define-public vulkan-headers/no-loader
(package
(name "vulkan-headers")
(version "1.3.280.0")
@@ -263,6 +264,7 @@ (define-public vulkan-headers
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ; No tests.
+ (properties '((hidden? . #t)))
(home-page
"https://github.com/KhronosGroup/Vulkan-Headers")
(synopsis "Vulkan Header files and API registry")
@@ -270,6 +272,25 @@ (define-public vulkan-headers
"Vulkan-Headers contains header files and API registry for Vulkan.")
(license (list license:asl2.0)))) ;LICENSE.txt
+(define-public vulkan-headers
+ (package
+ (inherit vulkan-headers/no-loader)
+ (arguments
+ (substitute-keyword-arguments (package-arguments vulkan-headers/no-loader)
+ ((#:phases phases #~%standard-phases)
+ #~(modify-phases #$phases
+ (add-after 'unpack 'patch-libvulkan-file-name
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "include/vulkan/vulkan.hpp"
+ (("dlopen\\( \"libvulkan.so")
+ (string-append "dlopen(\""
+ (search-input-file
+ inputs "/lib/libvulkan.so"))))))))))
+ (inputs
+ (modify-inputs (package-inputs vulkan-headers/no-loader)
+ (prepend vulkan-loader)))
+ (properties '())))
+
(define-public vulkan-loader
(package
(name "vulkan-loader")
@@ -326,7 +347,7 @@ (define-public vulkan-loader
python
wayland))
(inputs
- (list vulkan-headers libxrandr))
+ (list vulkan-headers/no-loader libxrandr))
(native-search-paths
(list (search-path-specification
(variable "XDG_DATA_DIRS")
base-commit: 7daf9328921f9f7d4fe4839d8e16091bd9f06072
--
2.45.1
[-- Attachment #3: 0002-gnu-volk-Hard-code-path-of-vulkan-loader-for-dynamic.patch --]
[-- Type: text/x-patch, Size: 2527 bytes --]
From 2cb9899209d1807cd18e9ed68a634faca48c6d89 Mon Sep 17 00:00:00 2001
Message-ID: <2cb9899209d1807cd18e9ed68a634faca48c6d89.1718143100.git.ludo@gnu.org>
In-Reply-To: <577a58ac4d23e7fa749fddb3007a3ad14c40f38d.1718143100.git.ludo@gnu.org>
References: <577a58ac4d23e7fa749fddb3007a3ad14c40f38d.1718143100.git.ludo@gnu.org>
From: nathan <nathan_mail@nborghese.com>
Date: Sat, 1 Jun 2024 19:55:24 -0400
Subject: [PATCH 2/2] gnu: volk: Hard-code path of vulkan-loader for dynamic
loading
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
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>
---
gnu/packages/vulkan.scm | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 5ff47be92e2..5d322f3ddb9 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -597,9 +597,19 @@ (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(\""
+ (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
--
2.45.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
end of thread, other threads:[~2024-06-11 22:03 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-22 9:36 [bug#71109] [PATCH] gnu: vulkan-tools: Wrap binaries with LD_LIBRARY_PATH Sughosha via Guix-patches via
2024-05-26 18:51 ` Kaelyn via Guix-patches via
2024-05-31 10:38 ` Ludovic Courtès
2024-05-31 15:21 ` Sughosha via Guix-patches via
2024-05-31 16:47 ` Kaelyn via Guix-patches via
2024-06-02 1:19 ` nathan via Guix-patches via
2024-06-11 21:27 ` bug#71109: " Ludovic Courtès
2024-06-11 22:02 ` [bug#71109] " Ludovic Courtès
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.