gnu: cmake: Skip CPack TXZ test on i686.

Fixes <https://issues.guix.gnu.org/50617>.

* gnu/packages/cmake.scm (%common-build-phases): Turn into a procedure
and adjust users.  When 'target-x86-32?' returns true, add
'skip-cpack-txz-test'.
This commit is contained in:
Ludovic Courtès 2021-09-21 10:08:35 +02:00
parent 68933659cb
commit f762d63ec0
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -92,7 +92,7 @@ (define-public cmake-shared
;;; Build phases shared between 'cmake-bootstrap' and the later variants
;;; that use cmake-build-system.
(define %common-build-phases
(define (%common-build-phases)
`((add-after 'unpack 'split-package
;; Remove files that have been packaged in other package recipes.
(lambda _
@ -100,6 +100,17 @@ (define %common-build-phases
(substitute* "Auxiliary/CMakeLists.txt"
((".*cmake-mode.el.*") ""))
#t))
,@(if (target-x86-32?)
'((add-after 'unpack 'skip-cpack-txz-test
(lambda _
;; In 'RunCMake.CPack_TXZ', the 'TXZ/THREADED_ALL' test
;; would occasionally fail on i686 with "Internal error
;; initializing compression library: Cannot allocate
;; memory": <https://issues.guix.gnu.org/50617>. Skip it.
(substitute* "Tests/RunCMake/CPack/RunCMakeTest.cmake"
(("THREADED_ALL \"TXZ;DEB\"")
"THREADED_ALL \"DEB\"")))))
'())
(add-before 'configure 'patch-bin-sh
(lambda _
;; Replace "/bin/sh" by the right path in... a lot of
@ -188,7 +199,7 @@ (define-public cmake-bootstrap
" --exclude-regex ^\\(" (string-join skipped-tests "\\|") "\\)$")))
#:phases
(modify-phases %standard-phases
,@%common-build-phases
,@(%common-build-phases)
(add-before 'configure 'set-paths
(lambda _
;; Help cmake's bootstrap process to find system libraries
@ -295,7 +306,7 @@ (define preserved-files ',%preserved-third-party-files)
#:build-type "Release"
#:phases
(modify-phases %standard-phases
,@%common-build-phases
,@(%common-build-phases)
(add-after 'install 'delete-help-documentation
(lambda* (#:key outputs #:allow-other-keys)
(delete-file-recursively