~ruther/guix-local

c6e030b2e3965222e6bb27306311aaec9c7ae93c — Eric Bavier 10 years ago 71eb843
utils: Have search-path-as-list pattern search for directories.

* guix/build/utils.scm (search-path-as-list)[pattern]: Check requested file
  type.  Check pattern against directory names.
* guix/search-paths.scm (evaluate-search-paths)[pattern]: Remove symlink hack.
2 files changed, 6 insertions(+), 9 deletions(-)

M guix/build/utils.scm
M guix/search-paths.scm
M guix/build/utils.scm => guix/build/utils.scm +6 -3
@@ 385,10 385,13 @@ for under the directories designated by FILES.  For example:
  (append-map (lambda (input)
                (append-map (lambda (file)
                              (let ((file (string-append input "/" file)))
                                ;; XXX: By using 'find-files', we implicitly
                                ;; assume #:type 'regular.
                                (if pattern
                                    (find-files file pattern)
                                    (find-files file (lambda (file stat)
                                                       (and stat
                                                            (eq? type (stat:type stat))
                                                            ((file-name-predicate pattern) file stat)))
                                                #:stat stat
                                                #:directories? #t)
                                    (let ((stat (stat file #f)))
                                      (if (and stat (eq? type (stat:type stat)))
                                          (list file)

M guix/search-paths.scm => guix/search-paths.scm +0 -6
@@ 139,12 139,6 @@ report only settings not already effective."
       (let* ((values (or (and=> (getenv variable)
                                 (cut string-tokenize* <> separator))
                          '()))
              ;; Add a trailing slash to force symlinks to be treated as
              ;; directories when 'find-files' traverses them.
              (files  (if pattern
                          (map (cut string-append <> "/") files)
                          files))

              ;; XXX: Silence 'find-files' when it stumbles upon non-existent
              ;; directories (see
              ;; <http://lists.gnu.org/archive/html/guix-devel/2015-01/msg00269.html>.)