From 3f65c190d23296e7e718c3deff413e8beb61d8ba Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Thu, 1 Jun 2017 19:04:10 +0200 Subject: utils: Add helper for invoking programs. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * guix/build/utils.scm (invoke): New variable. Co-authored-by: Ludovic Courtès --- guix/build/utils.scm | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'guix/build/utils.scm') diff --git a/guix/build/utils.scm b/guix/build/utils.scm index 6d3c29d001..7391307c87 100644 --- a/guix/build/utils.scm +++ b/guix/build/utils.scm @@ -84,6 +84,7 @@ fold-port-matches remove-store-references wrap-program + invoke locale-category->string)) @@ -579,6 +580,15 @@ Where every <*-phase-name> is an expression evaluating to a symbol, and ((_ phases (add-after old-phase-name new-phase-name new-phase)) (alist-cons-after old-phase-name new-phase-name new-phase phases)))) +(define (invoke program . args) + "Invoke PROGRAM with the given ARGS. Raise an error if the exit +code is non-zero; otherwise return #t." + (let ((status (apply system* program args))) + (unless (zero? status) + (error (format #f "program ~s exited with non-zero code" program) + status)) + #t)) + ;;; ;;; Text substitution (aka. sed). -- cgit v1.2.3