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.
This commit is contained in:
Efraim Flashner 2022-09-08 20:37:50 +03:00
parent 8d34df72cb
commit e8bded2de7
No known key found for this signature in database
GPG key ID: 41AAE7DCCA3D8351

View file

@ -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