From 102f7101b965be55ef1f80e80eec127a982b20a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 27 May 2015 22:31:56 +0200 Subject: [PATCH] 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. --- guix/profiles.scm | 13 +++++++------ 1 file 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)))))))