Subject: bug#25917: [PATCH] file-systems: Factorize file-system-packages.

From: Danny Milosavljevic <[email-masked]>
Date: Fri, 17 Mar 2017 16:02:53 +0100

I'd like to make the following change to guix/build/utils.scm :

diff --git a/guix/build/utils.scm b/guix/build/utils.scm
index bc6f11415..ca6360ed4 100644
--- a/guix/build/utils.scm
+++ b/guix/build/utils.scm
@@ -409,7 +409,8 @@ for under the directories designated by FILES.  For example:
                                         #:key
                                         (separator ":")
                                         (type 'directory)
-                                        pattern)
+                                        pattern
+                                        keep-previous-path?)
   "Look for each of FILES of the given TYPE (a symbol as returned by
 'stat:type') in INPUT-DIRS.  Set ENV-VAR to a SEPARATOR-separated path
 accordingly.  Example:
@@ -430,7 +431,13 @@ denoting file names to look for under the directories designated by FILES:
   (let* ((path  (search-path-as-list files input-dirs
                                      #:type type
                                      #:pattern pattern))
-         (value (list->search-path-as-string path separator)))
+         (value (list->search-path-as-string path separator))
+         (previous-path (getenv env-var))
+         (value (if (and keep-previous-path?
+                         previous-path
+                         (not (string-null? previous-path)))
+                  (string-append value ":" previous-path)
+                  value)))
     (if (string-null? value)
         (begin
           ;; Never set ENV-VAR to an empty string because often, the empty

Would that rebuild the world, though?