summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2020-11-19 18:17:26 +0100
committerLudovic Courtès <ludo@gnu.org>2020-11-19 22:36:03 +0100
commitedbd8f3f7eeb0e49c03ca611e43b5a777bd0c762 (patch)
tree4abe14a10409a4d7990def85a041e3456e95e600
parent201cbcac3e9c23cc28352fa9ece3e677e22cc12c (diff)
downloadguix-patches-edbd8f3f7eeb0e49c03ca611e43b5a777bd0c762.tar
guix-patches-edbd8f3f7eeb0e49c03ca611e43b5a777bd0c762.tar.gz
utils: Add #:copy-file parameter to 'copy-recursively'.
* guix/build/utils.scm (copy-recursively): Add #:copy-file and honor it. * doc/guix.texi (Build Utilities): Adjust accordingly.
-rw-r--r--doc/guix.texi11
-rw-r--r--guix/build/utils.scm7
2 files changed, 10 insertions, 8 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 6f4a3ac5cc..84e5691cf1 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -7778,12 +7778,13 @@ Make @var{file} writable for its owner.
@end deffn
@deffn {Scheme Procedure} copy-recursively @var{source} @var{destination} @
- [#:log (current-output-port)] [#:follow-symlinks? #f] [#:keep-mtime? #f]
+ [#:log (current-output-port)] [#:follow-symlinks? #f] @
+ [#:copy-file copy-file] [#:keep-mtime? #f]
Copy @var{source} directory to @var{destination}. Follow symlinks if
-@var{follow-symlinks?} is true; otherwise, just preserve them. When
-@var{keep-mtime?} is true, keep the modification time of the files in
-@var{source} on those of @var{destination}. Write verbose output to the
-@var{log} port.
+@var{follow-symlinks?} is true; otherwise, just preserve them. Call
+@var{copy-file} to copy regular files. When @var{keep-mtime?} is true,
+keep the modification time of the files in @var{source} on those of
+@var{destination}. Write verbose output to the @var{log} port.
@end deffn
@deffn {Scheme Procedure} delete-file-recursively @var{dir} @
diff --git a/guix/build/utils.scm b/guix/build/utils.scm
index 443a82046d..470e5cf001 100644
--- a/guix/build/utils.scm
+++ b/guix/build/utils.scm
@@ -343,11 +343,12 @@ name."
#:key
(log (current-output-port))
(follow-symlinks? #f)
+ (copy-file copy-file)
keep-mtime?)
"Copy SOURCE directory to DESTINATION. Follow symlinks if FOLLOW-SYMLINKS?
-is true; otherwise, just preserve them. When KEEP-MTIME? is true, keep the
-modification time of the files in SOURCE on those of DESTINATION. Write
-verbose output to the LOG port."
+is true; otherwise, just preserve them. Call COPY-FILE to copy regular files.
+When KEEP-MTIME? is true, keep the modification time of the files in SOURCE on
+those of DESTINATION. Write verbose output to the LOG port."
(define strip-source
(let ((len (string-length source)))
(lambda (file)