gnu: vulkan-validationlayers: Update to 1.3.280.0.

The check phase was replaced which allows tests to actually run, but they
crash on some hardware (reported in various issues upstream).

* gnu/packages/vulkan.scm (vulkan-validationlayers): Update to 1.3.280.0.
[source]: Add snippet to disable static library building.
[inputs]: Add robin-hood-hashing and vulkan-utility-libraries.
[arguments]: Remove previous configure-flags and add BUILD_TESTS, replace
check phase, and update reason why tests are disabled.
(%vulkan-sdk-version): Remove unused variable.

Change-Id: I80ca002d8dbe71cad57f859ee34ac8f10e175907
Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
This commit is contained in:
dan 2024-03-28 11:54:54 +08:00 committed by John Kehayias
parent 3704c64c0e
commit 3440e855e6
No known key found for this signature in database
GPG Key ID: 499097AE5EA815D9

View File

@ -47,9 +47,6 @@
#:use-module (gnu packages wine) #:use-module (gnu packages wine)
#:use-module (gnu packages xorg)) #:use-module (gnu packages xorg))
;; Note: Remember to change vulkan-loader version when bumping this.
(define %vulkan-sdk-version "sdk-1.3.231.1")
(define-public spirv-headers (define-public spirv-headers
(package (package
(name "spirv-headers") (name "spirv-headers")
@ -479,51 +476,37 @@ shader compilation.")
(define-public vulkan-validationlayers (define-public vulkan-validationlayers
(package (package
(name "vulkan-validationlayers") (name "vulkan-validationlayers")
(version %vulkan-sdk-version) (version "1.3.280.0")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url (url
"https://github.com/KhronosGroup/Vulkan-ValidationLayers") "https://github.com/KhronosGroup/Vulkan-ValidationLayers")
(commit version))) (commit (string-append "vulkan-sdk-" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(modules '((guix build utils)))
;; We don't build static libraries in SPIRV-Tools.
(snippet '(substitute* "tests/CMakeLists.txt"
(("-static")
"")))
(sha256 (sha256
(base32 (base32
"07djrk6yym4vl2b52wr09r8y649v5lark5hnr5rwvlxwxdmd9g75")))) "1w6fsaicrgnzkj5vz2v86a2gk1n7478q6n66ac2920avnin9a64c"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(inputs (list glslang (inputs (list glslang
libxrandr libxrandr
mesa mesa
robin-hood-hashing
shaderc shaderc
spirv-tools spirv-tools
vulkan-loader vulkan-loader
vulkan-utility-libraries
wayland)) wayland))
(native-inputs (list pkg-config python spirv-headers vulkan-headers)) (native-inputs (list googletest pkg-config python spirv-headers vulkan-headers))
(arguments (arguments
(list #:tests? #f ;no tests (list #:tests? #f ; tests crash on some hardware (various upstream issues)
#:configure-flags #:configure-flags
#~(list "-DUSE_ROBIN_HOOD_HASHING=OFF" #~(list "-DBUILD_TESTS=ON")
(string-append "-DGLSLANG_INSTALL_DIR="
(dirname (dirname
(search-input-directory
%build-inputs
"include/glslang"))))
(string-append "-DSPIRV_HEADERS_INSTALL_DIR="
(dirname (dirname
(search-input-directory
%build-inputs
"include/spirv"))))
(string-append "-DSPIRV_TOOLS_INSTALL_DIR="
(dirname (dirname
(search-input-directory
%build-inputs
"include/spirv-tools"))))
(string-append "-DVULKAN_HEADERS_INSTALL_DIR="
(dirname (dirname
(search-input-directory
%build-inputs
"include/vulkan"))))
"-Wno-dev")
#:phases #~(modify-phases %standard-phases #:phases #~(modify-phases %standard-phases
(add-after 'install 'set-layer-path-in-manifest (add-after 'install 'set-layer-path-in-manifest
(lambda _ (lambda _
@ -533,7 +516,19 @@ shader compilation.")
(substitute* manifest (substitute* manifest
(("\"libVkLayer_khronos_validation.so\"") (("\"libVkLayer_khronos_validation.so\"")
(string-append "\"" #$output (string-append "\"" #$output
"/lib/libVkLayer_khronos_validation.so\""))))))))) "/lib/libVkLayer_khronos_validation.so\""))))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(setenv "VK_LAYER_PATH"
(string-append (getcwd) "/layers"))
(setenv "LD_LIBRARY_PATH"
(string-append #$(this-package-input
"vulkan-loader") "/lib"))
(setenv "MESA_SHADER_CACHE_DIR"
(string-append (getcwd) "/shader-cache"))
(setenv "XDG_RUNTIME_DIR" (getcwd))
(invoke "./tests/vk_layer_validation_tests")))))))
(home-page "https://github.com/KhronosGroup/Vulkan-ValidationLayers") (home-page "https://github.com/KhronosGroup/Vulkan-ValidationLayers")
(synopsis "Khronos official validation layers for Vulkan") (synopsis "Khronos official validation layers for Vulkan")
(description (description