diff options
author | Ludovic Courtès <ludo@gnu.org> | 2017-10-19 16:10:18 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2017-11-21 23:09:16 +0100 |
commit | de98b302a1794365ee88e2d78c5afff9296054b8 (patch) | |
tree | e6e4b607e212d809830ca82a2573e4a0e5e43804 | |
parent | 59523429d61083f410d54ac8f8516c66459c1003 (diff) | |
download | gnu-guix-de98b302a1794365ee88e2d78c5afff9296054b8.tar gnu-guix-de98b302a1794365ee88e2d78c5afff9296054b8.tar.gz |
gexp: 'directory-union' has a #:quiet? parameter.
* guix/gexp.scm (directory-union): Add #:quiet? and honor it.
-rw-r--r-- | guix/gexp.scm | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/guix/gexp.scm b/guix/gexp.scm index e8ac3dcdc8..3781a1e6ee 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm @@ -1205,7 +1205,7 @@ This yields an 'etc' directory containing these two files." files)))))) (define* (directory-union name things - #:key (copy? #f)) + #:key (copy? #f) (quiet? #f)) "Return a directory that is the union of THINGS, where THINGS is a list of file-like objects denoting directories. For example: @@ -1213,7 +1213,8 @@ file-like objects denoting directories. For example: yields a directory that is the union of the 'guile' and 'emacs' packages. -When COPY? is true, copy files instead of creating symlinks." +When HARD-LINKS? is true, create hard links instead of symlinks. When QUIET? +is true, the derivation will not print anything." (define symlink (if copy? (gexp (lambda (old new) @@ -1222,6 +1223,11 @@ When COPY? is true, copy files instead of creating symlinks." (copy-file old new)))) (gexp symlink))) + (define log-port + (if quiet? + (gexp (%make-void-port "w")) + (gexp (current-error-port)))) + (match things ((one) ;; Only one thing; return it. @@ -1234,6 +1240,7 @@ When COPY? is true, copy files instead of creating symlinks." (union-build (ungexp output) '(ungexp things) + #:log-port (ungexp log-port) #:symlink (ungexp symlink))))))))) |