aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-05-28 14:38:50 +0200
committerLudovic Courtès <ludo@gnu.org>2015-05-28 14:41:15 +0200
commit1ba4796d135ba7a07f2e89126fba673601c321c2 (patch)
treea661e9adeeb54cd4019ca2ea798a092365ec9915
parent6a669bda51acb12b4ae4901c1df04fa5965ef1d0 (diff)
downloadgnu-guix-1ba4796d135ba7a07f2e89126fba673601c321c2.tar
gnu-guix-1ba4796d135ba7a07f2e89126fba673601c321c2.tar.gz
profiles: Deal with non-directory items in share/icons.
Reported by Mark H Weaver <mhw@netris.org>. * guix/profiles.scm (gtk-icon-themes)[build]: Check whether DIR is a directory before calling 'ensure-writable-directory'.
-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.