From 811d7567098e00711ee4c9c80afbe544ebe1c08e Mon Sep 17 00:00:00 2001 Message-ID: <811d7567098e00711ee4c9c80afbe544ebe1c08e.1717290934.git.nathan_mail@nborghese.com> From: nathan 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