profiles: Don't assume all the inputs are of a package are packages.
Reported by Ricardo Wurmus.
* guix/profiles.scm (gtk-icon-themes)[entry-lookup-gtk+](find-among-packages):
Rename to...
(find-among-inputs): ... this. Check whether INPUT is a package before
calling 'package-name'. Fixes a regression introduced in b04af0e
.
This commit is contained in:
parent
1e2644bb25
commit
102f7101b9
|
@ -595,10 +595,11 @@ creates the GTK+ 'icon-theme.cache' file for each theme."
|
||||||
;; Return as a monadic value the GTK+ package or store path referenced by the
|
;; Return as a monadic value the GTK+ package or store path referenced by the
|
||||||
;; manifest ENTRY, or #f if not referenced.
|
;; manifest ENTRY, or #f if not referenced.
|
||||||
(define (entry-lookup-gtk+ entry)
|
(define (entry-lookup-gtk+ entry)
|
||||||
(define (find-among-packages packages)
|
(define (find-among-inputs inputs)
|
||||||
(find (lambda (package)
|
(find (lambda (input)
|
||||||
(equal? "gtk+" (package-name package)))
|
(and (package? input)
|
||||||
packages))
|
(string=? "gtk+" (package-name input))))
|
||||||
|
inputs))
|
||||||
|
|
||||||
(define (find-among-store-items items)
|
(define (find-among-store-items items)
|
||||||
(find (lambda (item)
|
(find (lambda (item)
|
||||||
|
@ -615,8 +616,8 @@ creates the GTK+ 'icon-theme.cache' file for each theme."
|
||||||
(match (manifest-entry-item entry)
|
(match (manifest-entry-item entry)
|
||||||
((? package? package)
|
((? package? package)
|
||||||
(match (package-transitive-inputs package)
|
(match (package-transitive-inputs package)
|
||||||
(((labels packages . _) ...)
|
(((labels inputs . _) ...)
|
||||||
(return (find-among-packages packages)))))
|
(return (find-among-inputs inputs)))))
|
||||||
((? string? item)
|
((? string? item)
|
||||||
(mlet %store-monad ((refs (references* item)))
|
(mlet %store-monad ((refs (references* item)))
|
||||||
(return (find-among-store-items refs)))))))
|
(return (find-among-store-items refs)))))))
|
||||||
|
|
Loading…
Reference in New Issue