aboutsummaryrefslogtreecommitdiff
path: root/guix
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-12-27 23:46:10 +0100
committerLudovic Courtès <ludo@gnu.org>2014-12-27 23:46:10 +0100
commitcc9a5c1454f49850c078045c88a300c1195eabc8 (patch)
treef070ce2939d0c0e5506b5ad3538ca374f4678600 /guix
parentbd2fc4d81342dc15feba2998835e69dabee08864 (diff)
downloadgnu-guix-cc9a5c1454f49850c078045c88a300c1195eabc8.tar
gnu-guix-cc9a5c1454f49850c078045c88a300c1195eabc8.tar.gz
guix package: Use 'search-path-as-list' instead of custom code.
This will handle the new 'file-type' and 'file-pattern' fields correctly. * guix/scripts/package.scm (search-path-environment-variables)[search-path-definition]: Rewrite in terms of 'search-path-as-list'.
Diffstat (limited to 'guix')
-rw-r--r--guix/scripts/package.scm23
1 files changed, 12 insertions, 11 deletions
diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm
index 21dc66cb75..2f694cd55f 100644
--- a/guix/scripts/package.scm
+++ b/guix/scripts/package.scm
@@ -29,7 +29,8 @@
#:use-module (guix utils)
#:use-module (guix config)
#:use-module (guix scripts build)
- #:use-module ((guix build utils) #:select (directory-exists? mkdir-p))
+ #:use-module ((guix build utils)
+ #:select (directory-exists? mkdir-p search-path-as-list))
#:use-module (ice-9 format)
#:use-module (ice-9 match)
#:use-module (ice-9 regex)
@@ -362,19 +363,19 @@ current settings and report only settings not already effective."
(define search-path-definition
(match-lambda
- (($ <search-path-specification> variable directories separator)
- (let ((values (or (and=> (getenv variable)
- (cut string-tokenize* <> separator))
- '()))
- (directories (filter file-exists?
- (map (cut string-append profile
- "/" <>)
- directories))))
- (if (every (cut member <> values) directories)
+ (($ <search-path-specification> variable files separator
+ type pattern)
+ (let ((values (or (and=> (getenv variable)
+ (cut string-tokenize* <> separator))
+ '()))
+ (path (search-path-as-list files (list profile)
+ #:type type
+ #:pattern pattern)))
+ (if (every (cut member <> values) path)
#f
(format #f "export ~a=\"~a\""
variable
- (string-join directories separator)))))))
+ (string-join path separator)))))))
(let* ((packages (filter-map manifest-entry->package entries))
(search-paths (delete-duplicates