summary refs log tree commit diff
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2018-03-16 04:29:16 -0400
committerMark H Weaver <mhw@netris.org>2018-03-16 05:02:40 -0400
commit812cee6a07cb4b4ba4724768f9e745e2b25fe931 (patch)
treea00d6eef3238577a8f0fc86ade656622a3f64afa
parent78374500767332e69b1bb955b43244097fb743cb (diff)
downloadguix-812cee6a07cb4b4ba4724768f9e745e2b25fe931.tar.gz
gnu: attr: Use invoke instead of system*.
* gnu/packages/attr.scm (attr)[arguments]: Use invoke.  Return a boolean from
all phase procedures.  Add a comment explaining why one call to system* is
retained.
-rw-r--r--gnu/packages/attr.scm21
1 files changed, 13 insertions, 8 deletions
diff --git a/gnu/packages/attr.scm b/gnu/packages/attr.scm
index fe102d211c..ff0a07aa67 100644
--- a/gnu/packages/attr.scm
+++ b/gnu/packages/attr.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
 ;;; Copyright © 2012, 2013, 2016 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -42,13 +43,14 @@
        (modify-phases %standard-phases
          (add-after 'configure 'patch-makefile-SHELL
            (lambda _
-             (patch-makefile-SHELL "include/buildmacros")))
+             (patch-makefile-SHELL "include/buildmacros")
+             #t))
          (replace 'install
            (lambda _
-             (zero? (system* "make"
-                             "install"
-                             "install-lib"
-                             "install-dev"))))
+             (invoke "make"
+                     "install"
+                     "install-lib"
+                     "install-dev")))
          (replace 'check
            (lambda* (#:key target #:allow-other-keys)
              ;; Use the right shell.
@@ -57,11 +59,14 @@
                 (which "sh")))
 
              ;; When building natively, run the tests.
+             ;;
+             ;; Note that we use system* and unconditionally return #t here
+             ;; to ignore the test result, because the tests will fail when
+             ;; the build is performed on a file system without support for
+             ;; extended attributes, and we wish to allow Guix to be built
+             ;; on such systems.
              (unless target
                (system* "make" "tests" "-C" "test"))
-
-             ;; XXX: Ignore the test result since this is
-             ;; dependent on the underlying file system.
              #t)))))
     (inputs
      ;; Perl is needed to run tests; remove it from cross builds.