~ruther/guix-local

4d4c3614c85f98f734b3e4f375568b562dd1e2a7 — Ludovic Courtès 9 years ago 5253080
profiles: Make sure hook derivations fail upon error.

Reported at
<https://lists.gnu.org/archive/html/guix-devel/2016-06/msg00368.html>.

* guix/profiles.scm (info-dir-file)[build]: Add explicit call to
'exit'.
* guix/profiles.scm (ghc-package-cache-file)[build]: Likewise.
* guix/profiles.scm (xdg-desktop-database)[build]: Likewise.
* guix/profiles.scm (xdg-mime-database)[build]: Likewise.
1 files changed, 6 insertions(+), 6 deletions(-)

M guix/profiles.scm
M guix/profiles.scm => guix/profiles.scm +6 -6
@@ 510,9 510,9 @@ MANIFEST."
                    info (string-append #$output "/share/info/dir"))))

        (mkdir-p (string-append #$output "/share/info"))
        (every install-info
               (append-map info-files
                           '#$(manifest-inputs manifest)))))
        (exit (every install-info
                     (append-map info-files
                                 '#$(manifest-inputs manifest))))))

  (gexp->derivation "info-dir" build
                    #:modules '((guix build utils))


@@ 562,7 562,7 @@ entries of MANIFEST, or #f if MANIFEST does not have any GHC packages."
                (system* (string-append #+ghc "/bin/ghc-pkg") "recache"
                         (string-append "--package-db=" db-dir)))))
          (for-each delete-file (find-files db-dir "\\.conf$"))
          success)))
          (exit success))))

  (with-monad %store-monad
    ;; Don't depend on GHC when there's nothing to do.


@@ 710,7 710,7 @@ MIME type."
            (mkdir-p (string-append #$output "/share"))
            (union-build destdir appdirs
                         #:log-port (%make-void-port "w"))
            (zero? (system* update-desktop-database destdir)))))
            (exit (zero? (system* update-desktop-database destdir))))))

    ;; Don't run the hook when 'desktop-file-utils' is not referenced.
    (if desktop-file-utils


@@ 745,7 745,7 @@ entries.  It's used to query the MIME type of a given file."
            (union-build (string-append destdir "/packages") pkgdirs
                         #:log-port (%make-void-port "w"))
            (setenv "XDG_DATA_HOME" datadir)
            (zero? (system* update-mime-database destdir)))))
            (exit (zero? (system* update-mime-database destdir))))))

    ;; Don't run the hook when 'shared-mime-info' is referenced.
    (if shared-mime-info