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'.
This commit is contained in:
Ludovic Courtès 2014-12-27 23:46:10 +01:00
parent bd2fc4d813
commit cc9a5c1454
1 changed files with 12 additions and 11 deletions

View File

@ -29,7 +29,8 @@
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (guix config) #:use-module (guix config)
#:use-module (guix scripts build) #: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 format)
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:use-module (ice-9 regex) #:use-module (ice-9 regex)
@ -362,19 +363,19 @@ current settings and report only settings not already effective."
(define search-path-definition (define search-path-definition
(match-lambda (match-lambda
(($ <search-path-specification> variable directories separator) (($ <search-path-specification> variable files separator
(let ((values (or (and=> (getenv variable) type pattern)
(cut string-tokenize* <> separator)) (let ((values (or (and=> (getenv variable)
'())) (cut string-tokenize* <> separator))
(directories (filter file-exists? '()))
(map (cut string-append profile (path (search-path-as-list files (list profile)
"/" <>) #:type type
directories)))) #:pattern pattern)))
(if (every (cut member <> values) directories) (if (every (cut member <> values) path)
#f #f
(format #f "export ~a=\"~a\"" (format #f "export ~a=\"~a\""
variable variable
(string-join directories separator))))))) (string-join path separator)))))))
(let* ((packages (filter-map manifest-entry->package entries)) (let* ((packages (filter-map manifest-entry->package entries))
(search-paths (delete-duplicates (search-paths (delete-duplicates