summary refs log tree commit diff
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2018-03-27 20:14:05 -0400
committerMark H Weaver <mhw@netris.org>2018-03-27 21:35:41 -0400
commite3cfef22c4a18cacf33356a70788503fd689b96d (patch)
tree86549770a7be082dd83e0576511a3607a0b89f31
parent6715e1c24f19a5e1eb39c9baae9eebf4238533a7 (diff)
downloadguix-e3cfef22c4a18cacf33356a70788503fd689b96d.tar.gz
gnu: Use invoke and return #t from all builders.
* gnu/packages/admin.scm, gnu/packages/android.scm, gnu/packages/audio.scm,
gnu/packages/avr.scm, gnu/packages/base.scm, gnu/packages/bioinformatics.scm,
gnu/packages/certs.scm, gnu/packages/check.scm, gnu/packages/code.scm,
gnu/packages/commencement.scm, gnu/packages/dictionaries.scm,
gnu/packages/docbook.scm, gnu/packages/emacs.scm, gnu/packages/embedded.scm,
gnu/packages/fonts.scm, gnu/packages/games.scm, gnu/packages/gnome.scm,
gnu/packages/gnu-doc.scm, gnu/packages/guile.scm, gnu/packages/hurd.scm,
gnu/packages/javascript.scm, gnu/packages/libreoffice.scm,
gnu/packages/linux.scm, gnu/packages/lisp.scm, gnu/packages/lxde.scm,
gnu/packages/mail.scm, gnu/packages/markup.scm, gnu/packages/mate.scm,
gnu/packages/pkg-config.scm, gnu/packages/qt.scm, gnu/packages/rust.scm,
gnu/packages/scheme.scm, gnu/packages/sdl.scm, gnu/packages/statistics.scm,
gnu/packages/syncthing.scm, gnu/packages/tex.scm, gnu/packages/web.scm,
gnu/packages/wine.scm, gnu/packages/xfce.scm: In the builders of packages
using 'trivial-build-system', use invoke where appropriate, raise exceptions
on errors, and otherwise return #t.
-rw-r--r--gnu/packages/admin.scm4
-rw-r--r--gnu/packages/android.scm3
-rw-r--r--gnu/packages/audio.scm8
-rw-r--r--gnu/packages/avr.scm2
-rw-r--r--gnu/packages/base.scm3
-rw-r--r--gnu/packages/bioinformatics.scm5
-rw-r--r--gnu/packages/certs.scm3
-rw-r--r--gnu/packages/check.scm14
-rw-r--r--gnu/packages/code.scm3
-rw-r--r--gnu/packages/commencement.scm7
-rw-r--r--gnu/packages/dictionaries.scm6
-rw-r--r--gnu/packages/docbook.scm14
-rw-r--r--gnu/packages/emacs.scm13
-rw-r--r--gnu/packages/embedded.scm7
-rw-r--r--gnu/packages/fonts.scm17
-rw-r--r--gnu/packages/games.scm40
-rw-r--r--gnu/packages/gnome.scm2
-rw-r--r--gnu/packages/gnu-doc.scm12
-rw-r--r--gnu/packages/guile.scm15
-rw-r--r--gnu/packages/hurd.scm3
-rw-r--r--gnu/packages/javascript.scm26
-rw-r--r--gnu/packages/libreoffice.scm4
-rw-r--r--gnu/packages/linux.scm6
-rw-r--r--gnu/packages/lisp.scm6
-rw-r--r--gnu/packages/lxde.scm2
-rw-r--r--gnu/packages/mail.scm2
-rw-r--r--gnu/packages/markup.scm5
-rw-r--r--gnu/packages/mate.scm3
-rw-r--r--gnu/packages/pkg-config.scm3
-rw-r--r--gnu/packages/qt.scm3
-rw-r--r--gnu/packages/rust.scm3
-rw-r--r--gnu/packages/scheme.scm3
-rw-r--r--gnu/packages/sdl.scm3
-rw-r--r--gnu/packages/statistics.scm2
-rw-r--r--gnu/packages/syncthing.scm18
-rw-r--r--gnu/packages/tex.scm8
-rw-r--r--gnu/packages/web.scm7
-rw-r--r--gnu/packages/wine.scm3
-rw-r--r--gnu/packages/xfce.scm3
39 files changed, 170 insertions, 121 deletions
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index f2c63bee6e..8749b24e77 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -483,8 +483,8 @@ allow automatic login and starting any app.")
                           (output (assoc-ref %outputs "out"))
                           (etc    (string-append output "/etc")))
                      (setenv "PATH" (string-append xz "/bin"))
-                     (system* (string-append tar "/bin/tar") "xvf"
-                              source)
+                     (invoke (string-append tar "/bin/tar") "xvf"
+                             source)
                      (chdir ,(string-append "netbase-" version))
                      (mkdir-p etc)
                      (for-each copy-file
diff --git a/gnu/packages/android.scm b/gnu/packages/android.scm
index 637cda0205..96fc34eb6e 100644
--- a/gnu/packages/android.scm
+++ b/gnu/packages/android.scm
@@ -360,7 +360,8 @@ Images.")
          (use-modules (guix build utils))
          (let ((source (assoc-ref %build-inputs "source")))
            (install-file (string-append source "/51-android.rules")
-                         (string-append %output "/lib/udev/rules.d"))))))
+                         (string-append %output "/lib/udev/rules.d"))
+           #t))))
     (home-page "https://github.com/M0Rf30/android-udev-rules")
     (synopsis "udev rules for Android devices")
     (description "Provides a set of udev rules to allow using Android devices
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 86978bb0df..b01b2a07ef 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -1201,14 +1201,15 @@ PS, and DAB+.")
                      (setenv "PATH" (string-append
                                      (assoc-ref %build-inputs "bzip2") "/bin:"
                                      (assoc-ref %build-inputs "tar") "/bin"))
-                     (system* "tar" "xvf" (assoc-ref %build-inputs "source"))
+                     (invoke "tar" "xvf" (assoc-ref %build-inputs "source"))
                      (chdir "freepats")
                      ;; Use absolute pattern references
                      (substitute* "freepats.cfg"
                        (("Tone_000") (string-append out "/Tone_000"))
                        (("Drum_000") (string-append out "/Drum_000")))
                      (mkdir-p out)
-                     (copy-recursively "." out)))))
+                     (copy-recursively "." out)
+                     #t))))
     (native-inputs
      `(("tar" ,tar)
        ("bzip2" ,bzip2)))
@@ -3369,7 +3370,8 @@ using ALSA, MPD, PulseAudio, or a FIFO buffer as its input.")
            (let ((file (assoc-ref %build-inputs "source"))
                  (out (string-append %output "/share/soundfonts")))
              (mkdir-p out)
-             (copy-file file (string-append out "/FluidR3Mono_GM.sf3"))))))
+             (copy-file file (string-append out "/FluidR3Mono_GM.sf3"))
+             #t))))
       (home-page  "https://github.com/musescore/MuseScore/tree/master/share/sound")
       (synopsis "Pro-quality GM soundfont")
       (description "Fluid-3 is Frank Wen's pro-quality GM soundfont.")
diff --git a/gnu/packages/avr.scm b/gnu/packages/avr.scm
index 4c7ebf5a8f..a84b43da6a 100644
--- a/gnu/packages/avr.scm
+++ b/gnu/packages/avr.scm
@@ -117,7 +117,7 @@ for use with GCC on Atmel AVR microcontrollers.")
       (version (package-version avr-gcc))
       (source #f)
       (build-system trivial-build-system)
-      (arguments '(#:builder (mkdir %output)))
+      (arguments '(#:builder (begin (mkdir %output) #t)))
       (propagated-inputs
        `(("avrdude" ,avrdude)
          ("binutils" ,avr-binutils)
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 00d9fe55a3..e09af515dc 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -530,7 +530,8 @@ wrapper for the cross-linker for that target, called 'TARGET-ld'."
                                                              target "-ld")
                                               "/bin/ld"))))
                        (chmod ld #o555)
-                       (compile-file ld #:output-file go))))))
+                       (compile-file ld #:output-file go)
+                       #t)))))
     (synopsis "The linker wrapper")
     (description
      "The linker wrapper (or 'ld-wrapper') wraps the linker to add any
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 66504e9efd..32f9b72d99 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -5555,10 +5555,11 @@ writing files into the .sra format.")
                (out  (assoc-ref %outputs "out"))
                (doc  (assoc-ref %outputs "doc")))
            (setenv "PATH" (string-append tar "/bin:" bzip "/bin"))
-           (system* "tar" "xvf" (assoc-ref %build-inputs "source"))
+           (invoke "tar" "xvf" (assoc-ref %build-inputs "source"))
            (chdir (string-append "seqan-library-" ,version))
            (copy-recursively "include" (string-append out "/include"))
-           (copy-recursively "share"  (string-append doc "/share"))))))
+           (copy-recursively "share"  (string-append doc "/share"))
+           #t))))
     (native-inputs
      `(("source" ,source)
        ("tar" ,tar)
diff --git a/gnu/packages/certs.scm b/gnu/packages/certs.scm
index bb8facbc89..bfc5ff169f 100644
--- a/gnu/packages/certs.scm
+++ b/gnu/packages/certs.scm
@@ -63,7 +63,8 @@
               (("crt") "pem"))
             (mkdir-p bin)
             (copy-file "certdata2pem.py"
-                       (string-append bin "/certdata2pem.py"))))))
+                       (string-append bin "/certdata2pem.py"))
+            #t))))
    (synopsis "Python script to extract .pem data from certificate collection")
    (description
     "certdata2pem.py is a Python script to transform X.509 certificate
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 1fe13127d2..9d3d036725 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -187,13 +187,13 @@ supervised tests.")
                           (incdir (string-append output "/include"))
                           (docdir (string-append output "/share/doc/catch-"
                                                  ,version)))
-                     (begin
-                       (for-each mkdir-p (list incdir docdir))
-                       (install-file (string-append source
-                                                 "/single_include/catch.hpp")
-                                     incdir)
-                       (copy-recursively (string-append source "/docs")
-                                         docdir))))))
+                     (for-each mkdir-p (list incdir docdir))
+                     (install-file (string-append source
+                                                  "/single_include/catch.hpp")
+                                   incdir)
+                     (copy-recursively (string-append source "/docs")
+                                       docdir)
+                     #t))))
     (home-page "http://catch-lib.net/")
     (synopsis "Automated test framework for C++ and Objective-C")
     (description
diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm
index fa5a119819..d636945176 100644
--- a/gnu/packages/code.scm
+++ b/gnu/packages/code.scm
@@ -493,7 +493,8 @@ importantly we give you proper follow-symbol and find-references support.")
            (install-files '("AUTHORS" "BUGS" "ChangeLog" "README") doc)
            (install-files '("colormake" "colormake-short" "clmake"
                             "clmake-short" "colormake.pl")
-                          bin)))))
+                          bin)
+           #t))))
     (home-page "http://bre.klaki.net/programs/colormake/")
     (synopsis "Wrapper around @command{make} to produce colored output")
     (description "This package provides a wrapper around @command{make} to
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index bd199da163..bcb7cf3093 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -586,7 +586,9 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
                                                            triplet "-" tool)
                                             tool))
                                  '("ar" "ranlib"))
-                       (for-each wrap-program '("gcc" "g++")))))))
+                       (for-each wrap-program '("gcc" "g++")))
+
+                     #t))))
     (native-inputs
      `(("binutils" ,binutils)
        ("gcc" ,gcc)
@@ -1014,7 +1016,8 @@ COREUTILS-FINAL vs. COREUTILS, etc."
 
                      (union-build (assoc-ref %outputs "debug")
                                   (list (assoc-ref %build-inputs
-                                                   "libc-debug")))))))
+                                                   "libc-debug")))
+                     #t))))
 
     (native-search-paths (package-native-search-paths gcc))
     (search-paths (package-search-paths gcc))
diff --git a/gnu/packages/dictionaries.scm b/gnu/packages/dictionaries.scm
index 900d535ed4..8bf5c61ece 100644
--- a/gnu/packages/dictionaries.scm
+++ b/gnu/packages/dictionaries.scm
@@ -110,9 +110,9 @@ acronyms distributed as an info document.")
                      (set-path-environment-variable "PATH" '("bin")
                                                     (list tar xz))
                      (mkdir-p datadir)
-                     (zero? (system* "tar" "-C" datadir
-                                     "--strip-components=1"
-                                     "-xvf" src))))
+                     (invoke "tar" "-C" datadir
+                             "--strip-components=1"
+                             "-xvf" src)))
        #:modules ((guix build utils))))
     (native-inputs
      `(("tar" ,tar)
diff --git a/gnu/packages/docbook.scm b/gnu/packages/docbook.scm
index 3034bc5493..1c00e56d6d 100644
--- a/gnu/packages/docbook.scm
+++ b/gnu/packages/docbook.scm
@@ -58,11 +58,12 @@
                           (dtd    (string-append out "/xml/dtd/docbook")))
                      (mkdir-p dtd)
                      (with-directory-excursion dtd
-                       (system* unzip source))
+                       (invoke unzip source))
                      (substitute* (string-append out "/xml/dtd/docbook/catalog.xml")
                        (("uri=\"") 
                         (string-append 
-                         "uri=\"file://" dtd "/")))))
+                         "uri=\"file://" dtd "/")))
+                     #t))
                  #:modules ((guix build utils))))
     (native-inputs `(("unzip" ,unzip)))
     (home-page "http://docbook.org")
@@ -127,7 +128,7 @@ by no means limited to these applications.)  This package provides XML DTDs.")
                (dtd    (string-append (assoc-ref %outputs "out")
                                       "/xml/dtd/docbook")))
            (mkdir-p dtd)
-           (zero? (system* unzip source "-d" dtd))))))))
+           (invoke unzip source "-d" dtd)))))))
 
 (define-public docbook-xsl
   (package
@@ -154,7 +155,7 @@ by no means limited to these applications.)  This package provides XML DTDs.")
                           (out    (assoc-ref %outputs "out"))
                           (xsl    (string-append out "/xml/xsl")))
                      (setenv "PATH" (string-append bzip2 "/bin" ":" xz "/bin"))
-                     (system* (string-append tar "/bin/tar") "xvf" source)
+                     (invoke (string-append tar "/bin/tar") "xvf" source)
 
                      (mkdir-p xsl)
                      (copy-recursively name-version
@@ -163,8 +164,9 @@ by no means limited to these applications.)  This package provides XML DTDs.")
                      (substitute* (string-append xsl "/" name-version "/catalog.xml")
                        (("rewritePrefix=\"./")
                         (string-append "rewritePrefix=\"file://" xsl "/"
-                                       name-version "/")))))
-                 #:modules ((guix build utils))))
+                                       name-version "/")))
+                     #t))
+       #:modules ((guix build utils))))
     (native-inputs `(("bzip2" ,bzip2)
                      ("xz" ,xz)
                      ("tar" ,tar)))
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index d23729aafc..f7bf2dbdda 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -530,7 +530,7 @@ operations.")
                 (source   (assoc-ref %build-inputs "source"))
                 (lisp-dir (string-append %output "/share/emacs/site-lisp")))
            (setenv "PATH" PATH)
-           (system* tar "xvf" source)
+           (invoke tar "xvf" source)
 
            (install-file (string-append ,name "-" ,version "/magit-svn.el")
                          lisp-dir)
@@ -540,7 +540,9 @@ operations.")
                (emacs-generate-autoloads ,name lisp-dir)
                (setenv "EMACSLOADPATH"
                        (string-append ":" magit ":" dash))
-               (emacs-batch-eval '(byte-compile-file "magit-svn.el"))))))))
+               (emacs-batch-eval '(byte-compile-file "magit-svn.el"))))
+
+           #t))))
     (home-page "https://github.com/magit/magit-svn")
     (synopsis "Git-SVN extension to Magit")
     (description
@@ -5038,7 +5040,8 @@ abbreviation and automatically expand it into function templates.")
                                          dir)))
                        (scandir "." (lambda (fname)
                                       (and (string-match "-mode$" fname)
-                                           (directory-exists? fname)))))))))
+                                           (directory-exists? fname))))))
+           #t)))
       (home-page "https://github.com/AndreaCrotti/yasnippet-snippets")
       (synopsis "Collection of YASnippet snippets for many languages")
       (description
@@ -6980,7 +6983,7 @@ for external literate programming tools for exporting, weaving and tangling.")
          (setenv "PATH" (string-append
                          (assoc-ref %build-inputs "tar") "/bin" ":"
                          (assoc-ref %build-inputs "gzip") "/bin"))
-         (system* "tar" "xvf" (assoc-ref %build-inputs "source"))
+         (invoke "tar" "xvf" (assoc-ref %build-inputs "source"))
          (chdir (string-append "eless" "-" ,version))
          (substitute* "eless" (("/usr/bin/env bash")
                                (string-append (assoc-ref %build-inputs "bash")
@@ -7303,7 +7306,7 @@ Features:
          (setenv "PATH" (string-append
                          (assoc-ref %build-inputs "tar") "/bin" ":"
                          (assoc-ref %build-inputs "gzip") "/bin"))
-         (system* "tar" "xvf" (assoc-ref %build-inputs "source"))
+         (invoke "tar" "xvf" (assoc-ref %build-inputs "source"))
          (chdir (string-append ,name "-" ,version))
          ;; Patch shebangs
          (substitute* "epipe"
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index db9d518b17..82edd2a98c 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -251,7 +251,8 @@ library variant NEWLIB."
            (match %build-inputs
              (((names . directories) ...)
               (union-build (assoc-ref %outputs "out")
-                           directories))))))
+                           directories)
+              #t)))))
       (propagated-inputs
        `(("binutils" ,(cross-binutils "arm-none-eabi"))
          ("libstdc++" ,(make-libstdc++-arm-none-eabi xgcc newlib-with-xgcc))
@@ -610,7 +611,7 @@ micro-controller.")
     (version (package-version propeller-gcc))
     (source #f)
     (build-system trivial-build-system)
-    (arguments '(#:builder (mkdir %output)))
+    (arguments '(#:builder (begin (mkdir %output) #t)))
     (propagated-inputs
      `(("binutils" ,propeller-binutils)
        ("libc" ,proplib)
@@ -785,7 +786,7 @@ two-thirds of the opcodes in the P2 instruction set.")
     (version (package-version propeller-gcc))
     (source #f)
     (build-system trivial-build-system)
-    (arguments '(#:builder (mkdir %output)))
+    (arguments '(#:builder (begin (mkdir %output) #t)))
     (propagated-inputs
      `(("toolchain" ,propeller-toolchain)
        ("openspin" ,openspin)
diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index 39d86909b2..e0fcfe6e59 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -216,12 +216,13 @@ sans-serif designed for on-screen reading.  It is used by GNOME@tie{}3.")
                          (font-dir (string-append %output
                                                   "/share/fonts/truetype")))
                      (setenv "PATH" PATH)
-                     (system* "unzip" (assoc-ref %build-inputs "source"))
+                     (invoke "unzip" (assoc-ref %build-inputs "source"))
 
                      (mkdir-p font-dir)
                      (for-each (lambda (ttf)
                                  (install-file ttf font-dir))
-                               (find-files "." "\\.ttf$"))))))
+                               (find-files "." "\\.ttf$"))
+                     #t))))
 
     (native-inputs `(("unzip" ,unzip)))
     (home-page "http://www.latofonts.com/lato-free-fonts/")
@@ -440,14 +441,15 @@ for long periods of working with computers (8 or more hours per day).")
                                     (string-append (assoc-ref %outputs out)
                                                    "/share/fonts/opentype")))))
            (setenv "PATH" PATH)
-           (system* tar "xvf" (assoc-ref %build-inputs "source"))
+           (invoke tar "xvf" (assoc-ref %build-inputs "source"))
            (chdir (string-append "source-han-sans-" ,version "R"))
            (install-opentype-fonts "OTC" "out")
            (install-opentype-fonts "SubsetOTF/CN" "cn")
            (install-opentype-fonts "SubsetOTF/JP" "jp")
            (install-opentype-fonts "SubsetOTF/KR" "kr")
            (install-opentype-fonts "SubsetOTF/TW" "tw")
-           (for-each delete-file (find-files %output "\\.zip$"))))))
+           (for-each delete-file (find-files %output "\\.zip$"))
+           #t))))
     (native-inputs
      `(("gzip" ,gzip)
        ("tar" ,tar)))
@@ -982,7 +984,7 @@ vector graphics.")
                (src-pcf-dir (string-append "tamzen-font-Tamzen-"
                                             ,version "/pcf")))
            (setenv "PATH" PATH)
-           (system* tar "xvf" (assoc-ref %build-inputs "source"))
+           (invoke tar "xvf" (assoc-ref %build-inputs "source"))
            (mkdir-p font-dir)
            (mkdir-p psf-dir)
            (chdir src-pcf-dir)
@@ -1201,7 +1203,7 @@ itself."))))
                          (otf-dir (string-append %output
                                                  "/share/fonts/opentype")))
                      (setenv "PATH" PATH)
-                     (system* "unzip" (assoc-ref %build-inputs "source"))
+                     (invoke "unzip" (assoc-ref %build-inputs "source"))
 
                      (mkdir-p ttf-dir)
                      (mkdir-p otf-dir)
@@ -1210,7 +1212,8 @@ itself."))))
                                (find-files "." "\\.ttf$"))
                      (for-each (lambda (otf)
                                  (install-file otf otf-dir))
-                               (find-files "." "\\.otf$"))))))
+                               (find-files "." "\\.otf$"))
+                     #t))))
     (native-inputs `(("unzip" ,unzip)))
     (home-page "http://www.impallari.com/dosis")
     (synopsis "Very simple, rounded, sans serif family")
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index a04814d461..485f356495 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -1181,7 +1181,8 @@ exec ~a/bin/freedink -refdir ~a/share/dink\n"
                                  (assoc-ref %build-inputs "bash")
                                  (assoc-ref %build-inputs "engine")
                                  (assoc-ref %build-inputs "data"))
-                         (chmod port #o777)))))
+                         (chmod port #o777)))
+                     #t))
        #:modules ((guix build utils))))
     (inputs `(("engine" ,freedink-engine)
               ("data" ,freedink-data)
@@ -1440,10 +1441,11 @@ match, cannon keep, and grave-itation pit.")
                                                          "gzip")
                                               "/bin")))
                      (setenv "PATH" path)
-                     (system* tar "xvf" (assoc-ref %build-inputs "source"))
+                     (invoke tar "xvf" (assoc-ref %build-inputs "source"))
                      (chdir (string-append "minetest_game-" ,version))
                      (mkdir-p install-dir)
-                     (copy-recursively "." install-dir)))))
+                     (copy-recursively "." install-dir)
+                     #t))))
     (synopsis "Main game data for the Minetest game engine")
     (description
      "Game data for the Minetest infinite-world block sandox game.")
@@ -2612,18 +2614,19 @@ Red Eclipse provides fast paced and accessible gameplay.")
                           (bin     (string-append out "/bin"))
                           (doc     (string-append out
                                                   "/share/doc/grue-hunter")))
-                     (begin
-                       (copy-file tarball "grue-hunter.tar.gz")
-                       (zero? (system* gzip "-d" "grue-hunter.tar.gz"))
-                       (zero? (system* tar "xvf"  "grue-hunter.tar"))
-
-                       (mkdir-p bin)
-                       (copy-file "grue-hunter/gh.pl"
-                                  (string-append bin "/grue-hunter"))
-                       (patch-shebang (string-append bin "/grue-hunter")
-                                      (list perl))
-
-                       (install-file "grue-hunter/AGPLv3.txt" doc))))))
+                     (copy-file tarball "grue-hunter.tar.gz")
+                     (invoke gzip "-d" "grue-hunter.tar.gz")
+                     (invoke tar "xvf" "grue-hunter.tar")
+
+                     (mkdir-p bin)
+                     (copy-file "grue-hunter/gh.pl"
+                                (string-append bin "/grue-hunter"))
+                     (patch-shebang (string-append bin "/grue-hunter")
+                                    (list perl))
+
+                     (install-file "grue-hunter/AGPLv3.txt" doc)
+
+                     #t))))
     (inputs `(("perl" ,perl)
               ("tar" ,tar)
               ("gzip" ,gzip)
@@ -2930,11 +2933,12 @@ your child be creative.")
                            (string-append
                             (assoc-ref %build-inputs "tar") "/bin" ":"
                             (assoc-ref %build-inputs "gzip") "/bin"))
-                   (system* "tar" "xvf" (assoc-ref %build-inputs "source"))
+                   (invoke "tar" "xvf" (assoc-ref %build-inputs "source"))
                    (chdir (string-append ,name "-" ,version))
                    (let ((dir (string-append %output "/share/tuxpaint/stamps")))
                      (mkdir-p dir)
-                     (copy-recursively "stamps" dir)))))
+                     (copy-recursively "stamps" dir))
+                   #t)))
     (home-page (package-home-page tuxpaint))
     (synopsis "Stamp images for Tux Paint")
     (description
@@ -4087,7 +4091,7 @@ fight against their plot and save his fellow rabbits from slavery.")
                (xz-path (string-append (assoc-ref %build-inputs "xz") "/bin")))
            (setenv "PATH" xz-path)
            (mkdir out)
-           (zero? (system* tar "xvf" source "-C" out "--strip=3"))))))
+           (invoke tar "xvf" source "-C" out "--strip=3")))))
     (synopsis "Data files for 0ad")
     (description "0ad-data provides the data files required by the game 0ad.")
     (home-page "https://play0ad.com")
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 5feb112e1a..b16e1f91b3 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -5965,7 +5965,7 @@ associations for GNOME.")
     (version (package-version gnome-shell))
     (source #f)
     (build-system trivial-build-system)
-    (arguments '(#:builder (mkdir %output)))
+    (arguments '(#:builder (begin (mkdir %output) #t)))
     (propagated-inputs
      ;; TODO: Add more packages according to:
      ;;       <https://packages.debian.org/jessie/gnome-core>.
diff --git a/gnu/packages/gnu-doc.scm b/gnu/packages/gnu-doc.scm
index a1890a6cc6..b64d8ac454 100644
--- a/gnu/packages/gnu-doc.scm
+++ b/gnu/packages/gnu-doc.scm
@@ -85,12 +85,12 @@ list.")
             (setenv "PATH" (string-append gzip "/bin"
                                           ":" texinfo "/bin"))
             (mkdir-p info-dir)
-            (system* "makeinfo" "--output" info-dir
-                     (string-append source "/maintain.texi"))
-            (system* "makeinfo" "--output" info-dir
-                     (string-append source "/standards.texi"))
-            (system* "gzip" (string-append info-dir "/maintain.info"))
-            (system* "gzip" (string-append info-dir "/standards.info"))))))
+            (invoke "makeinfo" "--output" info-dir
+                    (string-append source "/maintain.texi"))
+            (invoke "makeinfo" "--output" info-dir
+                    (string-append source "/standards.texi"))
+            (invoke "gzip" (string-append info-dir "/maintain.info"))
+            (invoke "gzip" (string-append info-dir "/standards.info"))))))
     (home-page "https://www.gnu.org/prep/standards/")
     (synopsis "GNU coding standards and maintainer information")
     (description "The GNU Coding Standards were written by Richard Stallman
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index ea7099d445..6244274d72 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -911,16 +911,15 @@ specification.  These are the main features:
                          ;; Install source module.
                          (copy-file file dest-file)
                          ;; Install compiled module.
-                         (unless (zero? (system* guild "compile"
-                                                 "-L" source
-                                                 "-o" go-file
-                                                 file))
-                           (error (format #f "Failed to compile ~s to ~s!"
-                                          file go-file)))))
+                         (invoke guild "compile"
+                                 "-L" source
+                                 "-o" go-file
+                                 file)))
                      scm-files)
 
            ;; Also copy over the README.
            (install-file "README.org" doc)
+
            #t))))
     (inputs
      `(("guile" ,guile-2.0)))
@@ -1181,7 +1180,9 @@ inspired by the SCSH regular expression system.")
                (invoke patch-command "--force" "--input" patch-file)))
 
            ;; compile to the destination
-           (compile-file gdbm.scm-dest gdbm.go-dest)))))
+           (compile-file gdbm.scm-dest gdbm.go-dest)
+
+           #t))))
     (home-page "https://github.com/ijp/guile-gdbm")
     (synopsis "Guile bindings to the GDBM library via Guile's FFI")
     (description
diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm
index 3ab3446d96..d6c1fb5e64 100644
--- a/gnu/packages/hurd.scm
+++ b/gnu/packages/hurd.scm
@@ -200,7 +200,8 @@ Library for GNU/Hurd.")
                    (match %build-inputs
                      (((names . directories) ...)
                       (union-build (assoc-ref %outputs "out")
-                                   directories))))))
+                                   directories)
+                      #t)))))
     (inputs `(("gnumach-headers" ,gnumach-headers)
               ("hurd-headers" ,hurd-headers)
               ("hurd-minimal" ,hurd-minimal)))
diff --git a/gnu/packages/javascript.scm b/gnu/packages/javascript.scm
index b52edb2254..6288c443ad 100644
--- a/gnu/packages/javascript.scm
+++ b/gnu/packages/javascript.scm
@@ -60,10 +60,10 @@
                                %build-inputs))
          (let ((install-directory (string-append %output "/share/fonts/mathjax")))
            (mkdir-p install-directory)
-           (zero? (system* "tar" "-C" install-directory "-xvf"
-                           (assoc-ref %build-inputs "source")
-                           ,(string-append "MathJax-" version "/fonts")
-                           "--strip" "2"))))))
+           (invoke "tar" "-C" install-directory "-xvf"
+                   (assoc-ref %build-inputs "source")
+                   ,(string-append "MathJax-" version "/fonts")
+                   "--strip" "2")))))
     (native-inputs
      `(("gzip" ,gzip)
        ("tar" ,tar)))
@@ -94,10 +94,10 @@
           (list (assoc-ref %build-inputs "glibc-utf8-locales")))
          (setenv "LANG" "en_US.UTF-8")
          (let ((install-directory (string-append %output "/share/javascript/mathjax")))
-           (system* "tar" "xvf" (assoc-ref %build-inputs "source")
-                    ,(string-append "MathJax-" (package-version font-mathjax)
-                                    "/unpacked")
-                    "--strip" "2")
+           (invoke "tar" "xvf" (assoc-ref %build-inputs "source")
+                   ,(string-append "MathJax-" (package-version font-mathjax)
+                                   "/unpacked")
+                   "--strip" "2")
            (mkdir-p install-directory)
            (symlink (string-append (assoc-ref %build-inputs "font-mathjax")
                                    "/share/fonts/mathjax")
@@ -118,7 +118,9 @@
                         (dump-port minified port)))))
                  (else
                   (install-file file (dirname installed))))))
-            (find-files "."))))))
+            (find-files "."))
+
+           #t))))
     (native-inputs
      `(("font-mathjax" ,font-mathjax)
        ("glibc-utf8-locales" ,glibc-utf8-locales)
@@ -159,9 +161,9 @@ be able to view it naturally and easily.")))
                                %build-inputs))
          (let ((install-directory (string-append %output
                                                  "/share/javascript/respond/")))
-           (system* "tar" "xvf"
-                    (assoc-ref %build-inputs "source")
-                    "--strip" "1")
+           (invoke "tar" "xvf"
+                   (assoc-ref %build-inputs "source")
+                   "--strip" "1")
            (mkdir-p install-directory)
            (let* ((file "src/respond.js")
                   (installed (string-append install-directory "respond.min.js")))
diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index 7a1a1433fd..922c82bcde 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -746,8 +746,8 @@ word compounding or character encoding.")
                           (doc      (string-append out "/share/doc/"
                                                    ,name))
                           (unzip    (assoc-ref %build-inputs "unzip")))
-                     (system* (string-append unzip "/bin/unzip")
-                              (assoc-ref %build-inputs "source"))
+                     (invoke (string-append unzip "/bin/unzip")
+                             (assoc-ref %build-inputs "source"))
                      (for-each (cut install-file <> hunspell)
                                (find-files "."
                                            ,(string-append variant
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index ad014c70bf..3b864dbb60 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -844,7 +844,8 @@ slabtop, and skill.")
            (with-directory-excursion bin
              (copy-file e2fsck "e2fsck")
              (remove-store-references "e2fsck")
-             (chmod "e2fsck" #o555))))))
+             (chmod "e2fsck" #o555))
+           #t))))
     (home-page (package-home-page e2fsprogs))
     (synopsis "Statically-linked e2fsck command from e2fsprogs")
     (description "This package provides statically-linked e2fsck command taken
@@ -3235,7 +3236,8 @@ repair and easy administration.")
            (mkdir-p (dirname target))
            (copy-file source target)
            (remove-store-references target)
-           (chmod target #o555)))))
+           (chmod target #o555)
+           #t))))
     (home-page (package-home-page btrfs-progs))
     (synopsis "Statically-linked btrfs command from btrfs-progs")
     (description "This package provides the statically-linked @command{btrfs}
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 3ca1402338..1ceb78c83e 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -1231,7 +1231,8 @@ multiple inspectors with independent history.")
                          (assoc-ref %outputs "image")
                          "/bin/slynk")
                         %outputs
-                        #:dependencies ',slynk-systems)))))))
+                        #:dependencies ',slynk-systems))
+         #t)))))
 
 (define-public ecl-slynk
   (package
@@ -1253,7 +1254,8 @@ multiple inspectors with independent history.")
          (match %build-inputs
            (((names . paths) ...)
             (union-build (assoc-ref %outputs "out")
-                         paths))))))))
+                         paths)
+            #t)))))))
 
 (define-public sbcl-stumpwm+slynk
   (package
diff --git a/gnu/packages/lxde.scm b/gnu/packages/lxde.scm
index ecb63caf7f..8166fb8d71 100644
--- a/gnu/packages/lxde.scm
+++ b/gnu/packages/lxde.scm
@@ -449,7 +449,7 @@ in LXDE.")
     (version (package-version lxde-common))
     (source #f)
     (build-system trivial-build-system)
-    (arguments '(#:builder (mkdir %output)))
+    (arguments '(#:builder (begin (mkdir %output) #t)))
     (propagated-inputs
      ;; TODO:
      ;; lxshortcut, lxsession-edit
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 9a72a00a58..7769ebf05a 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -1808,7 +1808,7 @@ in Perl.")
            (mkdir-p bin)
            (with-directory-excursion bin
              (copy-file source "mb2md.gz")
-             (system* (string-append gzip "/bin/gzip") "-d" "mb2md.gz")
+             (invoke (string-append gzip "/bin/gzip") "-d" "mb2md.gz")
              (substitute* "mb2md"
                (("#!/usr/bin/perl")
                 (string-append "#!/usr/bin/perl -I " perl5lib)))
diff --git a/gnu/packages/markup.scm b/gnu/packages/markup.scm
index fc8e2ceaa7..bce411d0bd 100644
--- a/gnu/packages/markup.scm
+++ b/gnu/packages/markup.scm
@@ -86,14 +86,15 @@ processing library written in C.")
                                       "/bin/unzip")))
            (mkdir-p out)
            (with-directory-excursion out
-             (system* unzip source)
+             (invoke unzip source)
              (mkdir "bin")
              (mkdir-p "share/doc")
              (rename-file "Markdown_1.0.1/Markdown.pl" "bin/markdown")
              (rename-file "Markdown_1.0.1/Markdown Readme.text"
                           "share/doc/README")
              (patch-shebang "bin/markdown" (list perlbd))
-             (delete-file-recursively "Markdown_1.0.1"))))))
+             (delete-file-recursively "Markdown_1.0.1"))
+           #t))))
     (native-inputs `(("unzip" ,unzip)))
     (inputs `(("perl" ,perl)))
     (home-page "http://daringfireball.net/projects/markdown")
diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index 2272e5cbdc..c8db27899b 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -1523,7 +1523,8 @@ used to bring up authentication dialogs.")
          (match %build-inputs
            (((names . directories) ...)
             (union-build (assoc-ref %outputs "out")
-                         directories))))))
+                         directories)
+            #t)))))
     (inputs
      ;; TODO: Add more packages
      `(("at-spi2-core"              ,at-spi2-core)
diff --git a/gnu/packages/pkg-config.scm b/gnu/packages/pkg-config.scm
index 12f17f1e3c..6fc19a975d 100644
--- a/gnu/packages/pkg-config.scm
+++ b/gnu/packages/pkg-config.scm
@@ -96,7 +96,8 @@ instance.")))
                      ;; expect it.
                      (mkdir-p (string-append out "/share"))
                      (symlink (string-append in "/share/aclocal")
-                              (string-append out "/share/aclocal"))))))
+                              (string-append out "/share/aclocal"))
+                     #t))))
     (native-inputs `(("pkg-config" ,%pkg-config)))
 
     ;; Ignore native inputs, and set `PKG_CONFIG_PATH' for target inputs.
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 8593f220a2..04e6a38e24 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -1805,7 +1805,8 @@ This package provides the Python bindings.")))
                    (match %build-inputs
                      (((names . directories) ...)
                       (union-build (assoc-ref %outputs "out")
-                                   directories))))))
+                                   directories)
+                      #t)))))
     (inputs
      `(("python-pyqt" ,python-pyqt)
        ("python-qscintilla" ,python-qscintilla)))
diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 7d0eb70875..69d329bf9a 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -206,7 +206,8 @@ manager, which is required to build itself.")
            ;; binaries expect a compiler called cc. Thus symlink gcc
            ;; to cc.
            (symlink (string-append gcc "/bin/gcc")
-                    (string-append out "/bin/cc"))))))
+                    (string-append out "/bin/cc"))
+           #t))))
     (home-page "https://www.rust-lang.org")
     (synopsis "Rust bootstrapping meta package")
     (description "Meta package for a rust environment. Provides pre-compiled
diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index a426310594..65a2d5645a 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -846,7 +846,8 @@ metalinguistic abstraction, recursion, interpreters, and modular programming.")
                                        "/rx")))
              (chdir (assoc-ref %build-inputs "source"))
              (mkdir-p share)
-             (copy-recursively "." share)))))
+             (copy-recursively "." share)
+             #t))))
       (native-inputs
        `(("source" ,source)
          ("scheme48" ,scheme48)))
diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm
index f98ea8c048..72abfbf699 100644
--- a/gnu/packages/sdl.scm
+++ b/gnu/packages/sdl.scm
@@ -324,7 +324,8 @@ If PACKAGES are not specified, all SDL packages are used."
                    (match %build-inputs
                      (((names . directories) ...)
                       (union-build (assoc-ref %outputs "out")
-                                   directories))))))
+                                   directories)
+                      #t)))))
     (inputs (map (lambda (package)
                    (list (package-name package) package))
                  packages))
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index e140f4d043..4ef3db75ae 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -617,7 +617,7 @@ curves, Cox models, and parametric accelerated failure time models.")
     (name "r")
     (source #f)
     (build-system trivial-build-system)
-    (arguments '(#:builder (mkdir %output)))
+    (arguments '(#:builder (begin (mkdir %output) #t)))
     (propagated-inputs
      `(("r-minimal" ,r-minimal)
        ("r-boot" ,r-boot)
diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm
index 22dc8af7f3..7560238378 100644
--- a/gnu/packages/syncthing.scm
+++ b/gnu/packages/syncthing.scm
@@ -335,7 +335,8 @@ structs in the Go programming language.")
                    (match %build-inputs
                      (((names . directories) ...)
                       (union-build (assoc-ref %outputs "out")
-                                   directories))))))
+                                   directories)
+                      #t)))))
     (inputs (map (lambda (package)
                    (list (package-name package) package))
                  packages))
@@ -771,7 +772,8 @@ environment")
                    (match %build-inputs
                      (((names . directories) ...)
                       (union-build (assoc-ref %outputs "out")
-                                   directories))))))
+                                   directories)
+                      #t)))))
     (inputs (map (lambda (package)
                    (list (package-name package) package))
                  packages))
@@ -894,7 +896,8 @@ generation.")
                    (match %build-inputs
                      (((names . directories) ...)
                       (union-build (assoc-ref %outputs "out")
-                                   directories))))))
+                                   directories)
+                      #t)))))
     (inputs (map (lambda (package)
                    (list (package-name package) package))
                  packages))
@@ -1221,7 +1224,8 @@ Tiny Encryption Algorithm (XTEA) block cipher.")
                    (match %build-inputs
                      (((names . directories) ...)
                       (union-build (assoc-ref %outputs "out")
-                                   directories))))))
+                                   directories)
+                      #t)))))
     (inputs (map (lambda (package)
                    (list (package-name package) package))
                  packages))
@@ -1435,7 +1439,8 @@ for low-level interaction with the operating system.")
                    (match %build-inputs
                      (((names . directories) ...)
                       (union-build (assoc-ref %outputs "out")
-                                   directories))))))
+                                   directories)
+                      #t)))))
     (inputs (map (lambda (package)
                    (list (package-name package) package))
                  packages))
@@ -1968,7 +1973,8 @@ Prometheus HTTP API.")
                    (match %build-inputs
                      (((names . directories) ...)
                       (union-build (assoc-ref %outputs "out")
-                                   directories))))))
+                                   directories)
+                      #t)))))
     (inputs (map (lambda (package)
                    (list (package-name package) package))
                  packages))
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 8279e9ce32..c48987ac53 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -3519,9 +3519,10 @@ TeX metrics (VF and TFM files) and macros for use with LaTeX.")
                                       "/share/texmf-dist/"))
                (unzip  (string-append (assoc-ref %build-inputs "unzip")
                                       "/bin/unzip")))
-           (system* unzip (assoc-ref %build-inputs "source"))
+           (invoke unzip (assoc-ref %build-inputs "source"))
            (mkdir-p target)
-           (copy-recursively "iwona" target)))))
+           (copy-recursively "iwona" target)
+           #t))))
     (native-inputs
      `(("unzip" ,unzip)))
     (home-page "http://jmn.pl/en/kurier-i-iwona/")
@@ -4021,7 +4022,8 @@ This package contains the complete tree of texmf-dist data.")
                    (for-each
                      (lambda (name)
                        (symlink (string-append texmf "/share/" name) name))
-                     '("texmf-dist" "texmf-var"))))))))
+                     '("texmf-dist" "texmf-var"))))
+               #t))))
    (synopsis "TeX Live, a package of the TeX typesetting system")
    (description
     "TeX Live provides a comprehensive TeX document production system.
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index b858d44ada..bf7320cbf4 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -5549,8 +5549,8 @@ named elements: the @code{status}, the @code{headers}, and the @code{body}.")
             "PATH" '("bin") (map (match-lambda ((_ . input) input))
                                  %build-inputs))
            (mkdir-p share-rss-bridge)
-           (system* "tar" "xvf" (assoc-ref %build-inputs "source")
-                    "--strip-components" "1" "-C" share-rss-bridge)
+           (invoke "tar" "xvf" (assoc-ref %build-inputs "source")
+                   "--strip-components" "1" "-C" share-rss-bridge)
            #t))))
     (home-page "https://github.com/RSS-Bridge/rss-bridge")
     (synopsis "Generate Atom feeds for social networking websites")
@@ -6340,7 +6340,8 @@ features include:
               "if(isset($_SERVER['CACHE_DIR']))
 $cachepath = $_SERVER['CACHE_DIR'];
 else
-die('You need to set the CACHE_DIR variable first.');"))))))
+die('You need to set the CACHE_DIR variable first.');"))
+           #t))))
     (home-page "https://framagit.org/Deevad/cat-avatar-generator")
     (synopsis "Random avatar generator")
     (description "Cat avatar generator is a generator of cat pictures optimised
diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm
index 8496eb3365..a4bcde3e46 100644
--- a/gnu/packages/wine.scm
+++ b/gnu/packages/wine.scm
@@ -255,7 +255,8 @@ integrate Windows applications into your desktop.")
                                       "/patches/gitapply.sh") (("/usr/bin/env") env))
           (mkdir-p wine-staging)
           (copy-recursively (string-append "wine-staging-" ,version)
-                            wine-staging)))))
+                            wine-staging)
+          #t))))
    (home-page "https://github.com/wine-staging")
    (synopsis "Patchset for Wine")
    (description
diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm
index 8721fd91ad..134d601881 100644
--- a/gnu/packages/xfce.scm
+++ b/gnu/packages/xfce.scm
@@ -718,7 +718,8 @@ on your desktop.")
          (match %build-inputs
            (((names . directories) ...)
             (union-build (assoc-ref %outputs "out")
-                         directories))))))
+                         directories)
+            #t)))))
     (inputs
      `(("exo"                  ,exo)
        ("garcon"               ,garcon)