summaryrefslogtreecommitdiff
path: root/guix
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2016-05-20 22:11:56 +0200
committerLudovic Courtès <ludo@gnu.org>2016-05-21 01:35:14 +0200
commitcf8b312d1872aec1f38a179eeb981d79bf7faa03 (patch)
tree380190c5991b6df875e752393a65dc3b3f26ee9f /guix
parent30d4bc0434aa5d438c2d433f39c80e1f4a25bcac (diff)
downloadgnu-guix-cf8b312d1872aec1f38a179eeb981d79bf7faa03.tar
gnu-guix-cf8b312d1872aec1f38a179eeb981d79bf7faa03.tar.gz
grafts: Preserve empty directories when grafting.
* guix/build/graft.scm (rewrite-directory)[rewrite-leaf]: Add case for 'directory. Pass #:directories? #t to 'find-files'.
Diffstat (limited to 'guix')
-rw-r--r--guix/build/graft.scm5
1 files changed, 4 insertions, 1 deletions
diff --git a/guix/build/graft.scm b/guix/build/graft.scm
index b216e6c0d7..e9fce03181 100644
--- a/guix/build/graft.scm
+++ b/guix/build/graft.scm
@@ -115,6 +115,8 @@ file name pairs."
(replace-store-references input output mapping
store)
(chmod output (stat:perms stat))))))))
+ ((directory)
+ (mkdir-p dest))
(else
(error "unsupported file type" stat)))))
@@ -124,6 +126,7 @@ file name pairs."
(umask #o022)
(n-par-for-each (parallel-job-count)
- rewrite-leaf (find-files directory)))
+ rewrite-leaf (find-files directory (const #t)
+ #:directories? #t)))
;;; graft.scm ends here