diff options
author | Christopher Baines <mail@cbaines.net> | 2019-02-24 13:14:09 +0000 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2019-02-24 13:14:09 +0000 |
commit | dbf662910a540529f7d8ecea98b3dc5729cffdf7 (patch) | |
tree | 1959105feb35c4ef196f3d46a7ab1fc9c832387e | |
parent | a7db61a55dc4e369574e206a86f9e5721f4a890b (diff) | |
download | guix-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.scm | 4 |
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 |