aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author宋文武 <iyzsong@gmail.com>2015-05-19 16:32:09 +0800
committer宋文武 <iyzsong@gmail.com>2015-05-23 11:21:49 +0800
commit52b8beb1095bbf9152897656b19de6190235a918 (patch)
treee4bcc3e62032eae564980e7202fbfe3941003524
parent508891e62a5f569cc791f45e1f489f9cc74ff5fc (diff)
downloadpatches-52b8beb1095bbf9152897656b19de6190235a918.tar
patches-52b8beb1095bbf9152897656b19de6190235a918.tar.gz
gnu: gtk+: Add SVG support to 'gtk-encode-symbolic-svg'.
* gnu/packages/gtk.scm (gtk+)[inputs]: Add librsvg. [arguments]: Add 'wrap-gtk-encode-symbolic-svg' phase.
-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.