[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/02: utils: Have search-path-as-list pattern search for directories.
From: |
Eric Bavier |
Subject: |
01/02: utils: Have search-path-as-list pattern search for directories. |
Date: |
Fri, 30 Oct 2015 21:07:40 +0000 |
bavier pushed a commit to branch core-updates
in repository guix.
commit c6e030b2e3965222e6bb27306311aaec9c7ae93c
Author: Eric Bavier <address@hidden>
Date: Mon Oct 5 21:38:19 2015 -0500
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.
---
guix/build/utils.scm | 9 ++++++---
guix/search-paths.scm | 6 ------
2 files changed, 6 insertions(+), 9 deletions(-)
diff --git a/guix/build/utils.scm b/guix/build/utils.scm
index e3f9edc..2988193 100644
--- a/guix/build/utils.scm
+++ b/guix/build/utils.scm
@@ -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)
diff --git a/guix/search-paths.scm b/guix/search-paths.scm
index 7fd15d4..7a6fe67 100644
--- a/guix/search-paths.scm
+++ b/guix/search-paths.scm
@@ -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>.)