summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2017-10-16 09:57:44 +0200
committerLudovic Courtès <ludo@gnu.org>2017-10-22 22:09:00 -0700
commitdedb512f8f2282f7de3d5b56e7551e486e37840c (patch)
tree4f9b9bbd43c9d7ac174bc9508a0f4cd43ba83815 /gnu
parent7a51c78c6e0cd06dd31f3f28cd941fde15eb17d6 (diff)
downloadguix-dedb512f8f2282f7de3d5b56e7551e486e37840c.tar.gz
gexp: Add 'file-union'.
* gnu/services.scm (file-union): Move to...
* guix/gexp.scm (file-union): ... here.  New procedure.
* doc/guix.texi (G-Expressions): Document it.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/services.scm20
1 files changed, 0 insertions, 20 deletions
diff --git a/gnu/services.scm b/gnu/services.scm
index 0bd3620852..bc866eafe3 100644
--- a/gnu/services.scm
+++ b/gnu/services.scm
@@ -97,7 +97,6 @@
             %activation-service
             etc-service
 
-            file-union                        ;XXX: for lack of a better place
             directory-union))
 
 ;;; Comment:
@@ -388,25 +387,6 @@ boot."
                  (list (service-extension boot-service-type
                                           cleanup-gexp)))))
 
-(define* (file-union name files)                  ;FIXME: Factorize.
-  "Return a <computed-file> that builds a directory containing all of FILES.
-Each item in FILES must be a list where the first element is the file name to
-use in the new directory, and the second element is a gexp denoting the target
-file."
-  (computed-file name
-                 #~(begin
-                     (mkdir #$output)
-                     (chdir #$output)
-                     #$@(map (match-lambda
-                               ((target source)
-                                #~(begin
-                                    ;; Stat the source to abort early if it
-                                    ;; does not exist.
-                                    (stat #$source)
-
-                                    (symlink #$source #$target))))
-                             files))))
-
 (define (directory-union name things)
   "Return a directory that is the union of THINGS."
   (match things