aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-05-27 22:31:56 +0200
committerLudovic Courtès <ludo@gnu.org>2015-05-27 22:31:56 +0200
commit102f7101b965be55ef1f80e80eec127a982b20a1 (patch)
tree7572fc831f13f8b416b20212971b77576e920ce2
parent1e2644bb25c3b4528289423f593d8baea6578e53 (diff)
downloadgnu-guix-102f7101b965be55ef1f80e80eec127a982b20a1.tar
gnu-guix-102f7101b965be55ef1f80e80eec127a982b20a1.tar.gz
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.
-rw-r--r--guix/profiles.scm13
1 files changed, 7 insertions, 6 deletions
diff --git a/guix/profiles.scm b/guix/profiles.scm
index aaf693363a..c2cf1bf070 100644
--- a/guix/profiles.scm
+++ b/guix/profiles.scm
@@ -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
;; manifest ENTRY, or #f if not referenced.
(define (entry-lookup-gtk+ entry)
- (define (find-among-packages packages)
- (find (lambda (package)
- (equal? "gtk+" (package-name package)))
- packages))
+ (define (find-among-inputs inputs)
+ (find (lambda (input)
+ (and (package? input)
+ (string=? "gtk+" (package-name input))))
+ inputs))
(define (find-among-store-items items)
(find (lambda (item)
@@ -615,8 +616,8 @@ creates the GTK+ 'icon-theme.cache' file for each theme."
(match (manifest-entry-item entry)
((? package? package)
(match (package-transitive-inputs package)
- (((labels packages . _) ...)
- (return (find-among-packages packages)))))
+ (((labels inputs . _) ...)
+ (return (find-among-inputs inputs)))))
((? string? item)
(mlet %store-monad ((refs (references* item)))
(return (find-among-store-items refs)))))))