summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKaelyn Takata <kaelyn.alexi@protonmail.com>2022-09-01 16:27:40 +0000
committerRicardo Wurmus <rekado@elephly.net>2022-09-01 19:08:32 +0200
commitfdc4b7c0d7e8eebc20b92e40c637898ae0746830 (patch)
treec9aa98201accb2f471f6afdce22054c7a4f8fcd6
parentbe566b6474dc080bca16c612a62192252f948544 (diff)
gnu: Add vulkan-validationlayers.origin/update-vulkan-headers
* gnu/packages/vulkan.scm (vulkan-validationlayers): New variable.
-rw-r--r--gnu/packages/vulkan.scm50
1 files changed, 50 insertions, 0 deletions
diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 62b5b88732..8f664334d4 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2021 Mathieu Othacehe <othacehe@gnu.org>
+;;; Copyright © 2022 Kaelyn Takata <kaelyn.alexi@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -393,3 +394,52 @@ shader compilation.")
(synopsis "Direct3D 12 to Vulkan translation library")
(description "vkd3d is a library for translating Direct3D 12 to Vulkan.")
(license license:lgpl2.1))))
+
+(define-public vulkan-validationlayers
+ (package
+ (name "vulkan-validationlayers")
+ (version "1.2.201")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url
+ "https://github.com/KhronosGroup/Vulkan-ValidationLayers")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1jnz9cmy5d5g6jh9p4wr0qrlqlpfp07b3cizq37i5p1bcabdgmrz"))))
+ (build-system cmake-build-system)
+ (inputs (list glslang
+ libxrandr
+ mesa
+ shaderc
+ spirv-tools
+ vulkan-loader
+ wayland))
+ (native-inputs (list pkg-config python spirv-headers vulkan-headers))
+ (arguments
+ (list #:tests? #f ;no tests
+ #:configure-flags #~(list "-DUSE_ROBIN_HOOD_HASHING=OFF"
+ (string-append "-DGLSLANG_INSTALL_DIR="
+ #$glslang)
+ (string-append
+ "-DSPIRV_HEADERS_INSTALL_DIR="
+ #$spirv-headers) "-Wno-dev")
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'install 'set-layer-path-in-manifest
+ (lambda _
+ (let ((manifest (string-append #$output
+ "/share/vulkan/explicit_layer.d"
+ "/VkLayer_khronos_validation.json")))
+ (substitute* manifest
+ (("\"libVkLayer_khronos_validation.so\"")
+ (string-append "\"" #$output
+ "/lib/libVkLayer_khronos_validation.so\"")))))))))
+ (home-page "https://github.com/KhronosGroup/Vulkan-ValidationLayers")
+ (synopsis "Khronos official validation layers for Vulkan")
+ (description
+ "Vulkan-ValidationLayers provides the Khronos official validation layers that
+can assist development by enabling developers to verify their applications correctly
+use the Vulkan API.")
+ (license license:asl2.0)))