iyzsong pushed a commit to branch gtk-rebuild
in repository guix.
commit 52b8beb1095bbf9152897656b19de6190235a918
Author: 宋文武 <[email protected]>
Date: Tue May 19 16:32:09 2015 +0800
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.
---
gnu/packages/gtk.scm | 16 ++++++++++++++--
1 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 9a7e8f9..f518992 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.