guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

69/84: gnu: cmake-bootstrap: Fix build for the Hurd.


From: guix-commits
Subject: 69/84: gnu: cmake-bootstrap: Fix build for the Hurd.
Date: Wed, 14 Jun 2023 06:24:01 -0400 (EDT)

janneke pushed a commit to branch wip-hurd
in repository guix.

commit a55dd258b7f35f39d3bca4be94c7ce4ed43d45b8
Author: Janneke Nieuwenhuizen <janneke@gnu.org>
AuthorDate: Mon Jun 12 16:46:37 2023 +0200

    gnu: cmake-bootstrap: Fix build for the Hurd.
    
    * gnu/packages/cmake.scm (%common-disabled-tests/hurd): New variable.
    (cmake-bootstrap) [inputs]: Include libuv for the Hurd too.
    [arguments]: Add %common-disabled-tests/hurd to #:make-flags for the Hurd.
    Also add a 'patch-hurd' phase to fix the build.
---
 gnu/packages/cmake.scm | 43 ++++++++++++++++++++++++++++---------------
 1 file changed, 28 insertions(+), 15 deletions(-)

diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm
index bccb035854..b55d201b5f 100644
--- a/gnu/packages/cmake.scm
+++ b/gnu/packages/cmake.scm
@@ -10,7 +10,7 @@
 ;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2019, 2020, 2021, 2022 Maxim Cournoyer 
<maxim.cournoyer@gmail.com>
 ;;; Copyright © 2019 Pierre-Moana Levesque <pierre.moana.levesque@gmail.com>
-;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
 ;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -137,6 +137,19 @@ using the CMake build system.")
     ;; This test fails for unknown reason.
     "RunCMake.file-GET_RUNTIME_DEPENDENCIES"))
 
+(define %common-disabled-tests/hurd
+  '("CTestTestTimeout"
+    "CTestTestRerunFailed"
+    "RunCMake.CompilerChange"
+    "RunCMake.ctest_test"
+    "RunCMake.file"
+    "RunCMake.BundleUtilities"
+    "RunCMake.configure_file"
+    "RunCMake.CTestTimeout"
+    "RunCMake.CTestTimeoutAfterMatch"
+    "RunCMake.CommandLine"
+    "RunCMake.CTestCommandLine"))
+
 (define %preserved-third-party-files
   '(;; 'Source/cm_getdate.c' includes archive_getdate.c wholesale, so it must
     ;; be available along with the required headers.
@@ -191,7 +204,10 @@ using the CMake build system.")
                      "CTestTestSubdir" ; This test fails to build 2 of the 3 
tests.
                      ;; This test fails when ARGS (below) is in use, see
                      ;; <https://gitlab.kitware.com/cmake/cmake/issues/17165>.
-                     "CTestCoverageCollectGCOV")))
+                     "CTestCoverageCollectGCOV"
+                     #$@(if (target-hurd?)
+                            %common-disabled-tests/hurd
+                            #~()))))
           (list
            (string-append
             ;; These arguments apply for the tests only.
@@ -211,20 +227,17 @@ using the CMake build system.")
           ;; CMake uses its own configure script.
           (replace 'configure
             (lambda* (#:key (configure-flags '()) #:allow-other-keys)
-              (apply invoke "./configure" configure-flags))))))
+              (apply invoke "./configure" configure-flags)))
+          #$@(if (target-hurd?)
+                 #~((add-after 'unpack 'patch-hurd
+                      (lambda _
+                        ;; Version 3.25.0 has a similar fix.
+                        (substitute* "Utilities/cmlibuv/src/unix/udp.c"
+                          (("!defined\\(__QNX__\\)")
+                           "!defined(__GNU__)")))))
+                 #~()))))
     (inputs
-     (append
-      (if (hurd-target?)
-          '()
-          (list libuv))                 ;not supported on the Hurd
-      (list bzip2
-            curl
-            expat
-            file
-            jsoncpp
-            libarchive
-            rhash
-            zlib)))
+     (list libuv bzip2 curl expat file jsoncpp libarchive rhash zlib))
     (native-search-paths
      (list (search-path-specification
             (variable "CMAKE_PREFIX_PATH")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]