From e8bded2de72c17317d7799b699a724086f92ed7b Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 8 Sep 2022 20:37:50 +0300 Subject: gnu: eigen: Skip some tests on some architectures. * gnu/packages/algebra.scm (eigen)[arguments]: Add a phase to skip some tests which fail on various platforms. (eigen-for-tensorflow, eigen-for-tensorflow-lite)[arguments]: Don't inherit new phase. --- gnu/packages/algebra.scm | 46 +++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 43 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index d3f2549152..e5bd12eeb8 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -74,7 +74,8 @@ (define-module (gnu packages algebra) #:use-module (guix hg-download) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) - #:use-module (guix utils)) + #:use-module (guix utils) + #:use-module (ice-9 match)) (define-public mpfrcx @@ -1009,10 +1010,39 @@ (define-public eigen #t)))) (build-system cmake-build-system) (arguments - '(;; Turn off debugging symbols to save space. + `(;; Turn off debugging symbols to save space. #:build-type "Release" + #:modules ((ice-9 match) + (guix build utils) + (guix build cmake-build-system)) + #:phases (modify-phases %standard-phases + (add-after 'unpack 'disable-some-tests + ;; Not all platforms are well supported by the test suite. + (lambda _ + ,@(match (%current-system) + ("i686-linux" + `((substitute* "test/CMakeLists.txt" + ((".*packetmath.*") "")))) + ("aarch64-linux" + `((substitute* "test/CMakeLists.txt" + ((".*array_cwise.*") "") + ((".*vectorization_logic.*") "")))) + ("armhf-linux" + `((substitute* "test/CMakeLists.txt" + ((".*geo_quaternion.*") "") + ((".*jacobisvd.*") "") + ((".*packetmath.*") "") + ((".*prec_inverse.*") "") + ((".*qr_colpivoting.*") "") + ((".*vectorization_logic.*") "")))) + ("riscv64-linux" + `((substitute* "test/CMakeLists.txt" + ((".*array_cwise.*") "") + ((".*geo_quaternion.*") "")))) + (_ + '((display "No tests to disable on this architecture.\n")))))) (replace 'check (lambda* (#:key tests? #:allow-other-keys) (let* ((cores (parallel-job-count)) @@ -1101,6 +1131,11 @@ (define-public eigen-for-tensorflow (substitute* "unsupported/CMakeLists.txt" (("add_subdirectory\\(test.*") "# Do not build the tests for unsupported features.\n")))))) + (arguments + (substitute-keyword-arguments (package-arguments eigen) + ((#:phases phases) + `(modify-phases ,phases + (delete 'disable-some-tests))))) (native-inputs (list gcc-7))))) @@ -1129,7 +1164,12 @@ (define-public eigen-for-tensorflow-lite '(begin (substitute* "unsupported/CMakeLists.txt" (("add_subdirectory\\(test.*") - "# Do not build the tests for unsupported features.\n"))))))))) + "# Do not build the tests for unsupported features.\n")))))) + (arguments + (substitute-keyword-arguments (package-arguments eigen) + ((#:phases phases) + `(modify-phases ,phases + (delete 'disable-some-tests)))))))) (define-public xtensor (package -- cgit v1.2.3