summaryrefslogtreecommitdiff
path: root/gnu/packages/vulkan.scm
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2020-05-22 16:57:46 +0200
committerMarius Bakke <marius@gnu.org>2020-05-26 22:36:07 +0200
commit6a8fca140d69141c91ea167e66d4daaad611261c (patch)
tree5634465208e218f8d560c0b153ab4f774ce32ada /gnu/packages/vulkan.scm
parentcc8550ef120200b4bd27000b3deed41febc64c4c (diff)
downloadguix-patches-6a8fca140d69141c91ea167e66d4daaad611261c.tar
guix-patches-6a8fca140d69141c91ea167e66d4daaad611261c.tar.gz
gnu: vulkan-loader: Enable tests.
* gnu/packages/vulkan.scm (vulkan-loader)[arguments]: Remove #:tests? and #:configure-flags. Add #:phases to unpack googletest and disable tests that cannot run in the build container. [native-inputs]: Add (PACKAGE-SOURCE GOOGLETEST).
Diffstat (limited to 'gnu/packages/vulkan.scm')
-rw-r--r--gnu/packages/vulkan.scm33
1 files changed, 23 insertions, 10 deletions
diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 30a89499fc..22391316c0 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -175,16 +175,29 @@ interpretation of the specifications for these languages.")
"0rhyz0qgp0i7pcx6wlvgwy7j33d4cs0xx39f0b6igpfk0vk70r1w"))))
(build-system cmake-build-system)
(arguments
- `(#:tests? #f ;FIXME: 23/39 tests fail. Try "tests/run_all_tests.sh".
- #:configure-flags (list
- "-DBUILD_TESTS=OFF" ; FIXME: Needs 'googletest' submodule.
- (string-append "-DCMAKE_INSTALL_LIBDIR="
- (assoc-ref %outputs "out") "/lib"))))
- (native-inputs `(("libxrandr" ,libxrandr)
- ("pkg-config" ,pkg-config)
- ("python" ,python)
- ("vulkan-headers" ,vulkan-headers)
- ("wayland" ,wayland)))
+ `(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'unpack-googletest
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((gtest (assoc-ref inputs "googletest:source")))
+ (when gtest
+ (copy-recursively gtest "external/googletest"))
+ #t)))
+ (add-after 'unpack 'disable-loader-tests
+ (lambda _
+ ;; Many tests require a Vulkan driver. Skip those.
+ (substitute* "tests/loader_validation_tests.cpp"
+ ((".*= vkCreateInstance.*" all)
+ (string-append "GTEST_SKIP();\n" all))
+ (("TEST_F.*InstanceExtensionEnumerated.*" all)
+ (string-append all "\nGTEST_SKIP();\n")))
+ #t)))))
+ (native-inputs
+ `(("googletest:source" ,(package-source googletest))
+ ("libxrandr" ,libxrandr)
+ ("pkg-config" ,pkg-config)
+ ("python" ,python)
+ ("vulkan-headers" ,vulkan-headers)
+ ("wayland" ,wayland)))
(home-page
"https://github.com/KhronosGroup/Vulkan-Loader")
(synopsis "Khronos official ICD loader and validation layers for Vulkan")