From f1356a60a1747f8dcd303cf797f0a2904dfc979f Mon Sep 17 00:00:00 2001 From: Kaelyn Takata Date: Thu, 1 Sep 2022 16:27:40 +0000 Subject: gnu: Add vulkan-validationlayers. * gnu/packages/vulkan.scm (vulkan-validationlayers): New variable. --- gnu/packages/vulkan.scm | 50 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) (limited to 'gnu/packages/vulkan.scm') 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 ;;; Copyright © 2020 Marius Bakke ;;; Copyright © 2021 Mathieu Othacehe +;;; Copyright © 2022 Kaelyn Takata ;;; ;;; 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))) -- cgit v1.2.3