aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2019-02-24 13:14:09 +0000
committerChristopher Baines <mail@cbaines.net>2019-02-24 13:14:09 +0000
commitdbf662910a540529f7d8ecea98b3dc5729cffdf7 (patch)
tree1959105feb35c4ef196f3d46a7ab1fc9c832387e
parenta7db61a55dc4e369574e206a86f9e5721f4a890b (diff)
downloadguix-dbf662910a540529f7d8ecea98b3dc5729cffdf7.tar
guix-dbf662910a540529f7d8ecea98b3dc5729cffdf7.tar.gz
utils: Add #:base-directory to call-with-temporary-directory.
This allows more easily creating temporary directories within a specific directory. This is motivated by using this in inferior-eval-with-store. * guix/utils.scm (call-with-temporary-directory): Add optional keyword argument, base-directory.
-rw-r--r--guix/utils.scm4
1 files changed, 2 insertions, 2 deletions
diff --git a/guix/utils.scm b/guix/utils.scm
index ed1a418cca..abeb156f40 100644
--- a/guix/utils.scm
+++ b/guix/utils.scm
@@ -620,10 +620,10 @@ call."
(false-if-exception (close out))
(false-if-exception (delete-file template))))))
-(define (call-with-temporary-directory proc)
+(define* (call-with-temporary-directory proc #:key base-directory)
"Call PROC with a name of a temporary directory; close the directory and
delete it when leaving the dynamic extent of this call."
- (let* ((directory (or (getenv "TMPDIR") "/tmp"))
+ (let* ((directory (or base-directory (getenv "TMPDIR") "/tmp"))
(template (string-append directory "/guix-directory.XXXXXX"))
(tmp-dir (mkdtemp! template)))
(dynamic-wind