summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2021-09-21 10:08:35 +0200
committerLudovic Courtès <ludo@gnu.org>2021-09-21 10:08:35 +0200
commitf762d63ec072500cd327ec5342c2f5434c267222 (patch)
tree0011070892194ee21af1416c2fcce9ef2fcc2d7e
parent68933659cb191774872d8ff71503844b92dc7355 (diff)
downloadguix-f762d63ec072500cd327ec5342c2f5434c267222.tar.gz
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'.
-rw-r--r--gnu/packages/cmake.scm17
1 files changed, 14 insertions, 3 deletions
diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm
index f76ee3ff3a..12ac3aa125 100644
--- a/gnu/packages/cmake.scm
+++ b/gnu/packages/cmake.scm
@@ -92,7 +92,7 @@ using the CMake build system.")
 
 ;;; 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 @@ using the CMake build system.")
         (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 @@ using the CMake build system.")
            " --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 @@ and workspaces that can be used in the compiler environment of your choice.")
        #: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