diff options
author | Ludovic Courtès <ludo@gnu.org> | 2015-05-27 22:31:56 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2015-05-27 22:31:56 +0200 |
commit | 102f7101b965be55ef1f80e80eec127a982b20a1 (patch) | |
tree | 7572fc831f13f8b416b20212971b77576e920ce2 | |
parent | 1e2644bb25c3b4528289423f593d8baea6578e53 (diff) | |
download | gnu-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.scm | 13 |
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))))))) |