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:
parent
bd2fc4d813
commit
cc9a5c1454
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue