~ruther/guix-local

edbd8f3f7eeb0e49c03ca611e43b5a777bd0c762 — Ludovic Courtès 5 years ago 201cbca
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.
2 files changed, 10 insertions(+), 8 deletions(-)

M doc/guix.texi
M guix/build/utils.scm
M doc/guix.texi => doc/guix.texi +6 -5
@@ 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} @

M guix/build/utils.scm => guix/build/utils.scm +4 -3
@@ 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)