From 1ba4796d135ba7a07f2e89126fba673601c321c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 28 May 2015 14:38:50 +0200 Subject: [PATCH] profiles: Deal with non-directory items in share/icons. Reported by Mark H Weaver . * guix/profiles.scm (gtk-icon-themes)[build]: Check whether DIR is a directory before calling 'ensure-writable-directory'. --- guix/profiles.scm | 9 ++++++--- 1 file 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.