diff mbox series

[bug#73071,mesa-updates,4/8] gnu: vulkan-headers: Hard-code libvulkan.so file name.

Message ID 5eec37609a42d1dc349b3e37a96d794140f154fa.1725634153.git.john.kehayias@protonmail.com
State New
Headers show
Series Various updates for mesa to 24.2.2 | expand

Commit Message

John Kehayias Sept. 6, 2024, 3:07 p.m. UTC
From: nathan <nathan_mail@nborghese.com>

* 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>
Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
---
 gnu/packages/vulkan.scm | 25 +++++++++++++++++++++++--
 1 file changed, 23 insertions(+), 2 deletions(-)

--
2.45.2
diff mbox series

Patch

diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 1b69da1a4d..e76455a835 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -299,7 +299,8 @@  (define-public vkbasalt
     (license (list license:bsd-3    ; src/reshade/LICENSE.md
                    license:zlib)))) ; LICENSE

-(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")
@@ -316,6 +317,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")
@@ -323,6 +325,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")
@@ -383,7 +404,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")