summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--guix/profiles.scm9
1 files changed, 6 insertions, 3 deletions
diff --git a/guix/profiles.scm b/guix/profiles.scm
index 0f73455d24..28150affb6 100644
--- a/guix/profiles.scm
+++ b/guix/profiles.scm
@@ -649,9 +649,12 @@ creates the GTK+ 'icon-theme.cache' file for each theme."
             ;; Update the 'icon-theme.cache' file for each icon theme.
             (for-each
              (lambda (theme)
-               (let ((dir (string-append #$output "/share/icons/" theme)))
-                 (ensure-writable-directory dir)
-                 (system* update-icon-cache "-t" dir)))
+               (let ((dir (string-append destdir "/" theme)))
+                 ;; Occasionally DESTDIR contains plain files, such as
+                 ;; "abiword_48.png".  Ignore these.
+                 (when (file-is-directory? dir)
+                   (ensure-writable-directory dir)
+                   (system* update-icon-cache "-t" dir))))
              (scandir destdir (negate (cut member <> '("." ".."))))))))
 
     ;; Don't run the hook when there's nothing to do.