summaryrefslogtreecommitdiff
path: root/gnu/packages/gtk.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/gtk.scm')
-rw-r--r--gnu/packages/gtk.scm16
1 files changed, 14 insertions, 2 deletions
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 9a7e8f9109..f518992498 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -505,7 +505,8 @@ application suites.")
("libxdamage" ,libxdamage)
("pango" ,pango)))
(inputs
- `(("libxml2" ,libxml2)
+ `(("librsvg" ,librsvg) ;for gtk-encode-symbolic-svg
+ ("libxml2" ,libxml2)
("cups" ,cups))) ;for printing support
(native-inputs
`(("perl" ,perl)
@@ -537,7 +538,18 @@ application suites.")
"demos/gtk-demo/Makefile.in")
(("gtk-update-icon-cache") "$(bindir)/gtk-update-icon-cache"))
#t)
- %standard-phases)))))
+ (alist-cons-after
+ 'install 'wrap-gtk-encode-symbolic-svg
+ ;; By using GdkPixbuf, gtk-encode-symbolic-svg needs to know
+ ;; librsvg's loaders.cache to handle SVG files.
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (prog (string-append out "/bin/gtk-encode-symbolic-svg"))
+ (librsvg (assoc-ref inputs "librsvg"))
+ (loaders.cache (find-files librsvg "^loaders\\.cache$")))
+ (wrap-program prog
+ `("GDK_PIXBUF_MODULE_FILE" = ,loaders.cache))))
+ %standard-phases))))))
;;;
;;; Guile bindings.