gnu: vulkan-loader: Update to 1.3.280.0.

According to
<https://vulkan.lunarg.com/doc/view/1.3.231.1/linux/loader_and_layer_interface.html>,
the Vulkan loader searches for manifest files in several directories, like in
$HOME or ones set during compile-time.  So, expose XDG_DATA_DIRS, which Vulkan
will search, as a search-path to find ones from other packages, like mesa.

* gnu/packages/vulkan.scm (vulkan-loader): Update to 1.3.280.0.
[arguments]<#:phases>: Update the use-system-googletest phase.
[native-search-paths]: New search path, XDG_DATA_DIRS.

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

View file

@ -251,19 +251,17 @@ (define-public vulkan-headers
(define-public vulkan-loader (define-public vulkan-loader
(package (package
(name "vulkan-loader") (name "vulkan-loader")
;; XXX: Take a slightly newer commit to fix a test failure on i686: (version "1.3.280.0")
;; https://github.com/KhronosGroup/Vulkan-Loader/pull/1036
(version "sdk-1.3.232")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/KhronosGroup/Vulkan-Loader") (url "https://github.com/KhronosGroup/Vulkan-Loader")
(commit "v1.3.232"))) (commit (string-append "vulkan-sdk-" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0w69sh669sx9pwlvv2rv92ds2hm2rbzsa6qqcmd8kcad0qfq7dz2")))) "0glix3clqkdbi9kqcp8abmglqpgjd2r2bjqvi11r8sair0z54hnf"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
(list (list
@ -291,11 +289,10 @@ (define-public vulkan-loader
(string-append "includedir=" vulkan-headers "\n")))))) (string-append "includedir=" vulkan-headers "\n"))))))
(add-after 'unpack 'use-system-googletest (add-after 'unpack 'use-system-googletest
(lambda _ (lambda _
;; Inform the build system that googletest is already built. (substitute* "tests/CMakeLists.txt"
(substitute* "CMakeLists.txt" (((string-append "message\\(FATAL_ERROR \"Could not "
((".*if\\(TARGET gtest\\)") "find googletest directory. See BUILD.md\"\\)"))
(string-append " find_package(GTest REQUIRED)\n" "find_package(GTest REQUIRED)"))
" if(true)")))
;; Use the namespaced variable. ;; Use the namespaced variable.
(substitute* "tests/framework/CMakeLists.txt" (substitute* "tests/framework/CMakeLists.txt"
(("PUBLIC gtest ") (("PUBLIC gtest ")
@ -308,6 +305,10 @@ (define-public vulkan-loader
wayland)) wayland))
(inputs (inputs
(list vulkan-headers libxrandr)) (list vulkan-headers libxrandr))
(native-search-paths
(list (search-path-specification
(variable "XDG_DATA_DIRS")
(files '("share")))))
(home-page (home-page
"https://github.com/KhronosGroup/Vulkan-Loader") "https://github.com/KhronosGroup/Vulkan-Loader")
(synopsis "Khronos official ICD loader and validation layers for Vulkan") (synopsis "Khronos official ICD loader and validation layers for Vulkan")