[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/01: gnu: Add gdk-pixbuf+svg.
From: |
??? |
Subject: |
01/01: gnu: Add gdk-pixbuf+svg. |
Date: |
Wed, 16 Mar 2016 01:10:44 +0000 |
iyzsong pushed a commit to branch master
in repository guix.
commit 34dc3907ac000cad8234dfab8562c5eb580239d0
Author: 宋文武 <address@hidden>
Date: Mon Mar 14 20:10:43 2016 +0800
gnu: Add gdk-pixbuf+svg.
* gnu/packages/gtk.scm (gdk-pixbuf+svg): New variable.
---
gnu/packages/gtk.scm | 29 +++++++++++++++++++++++++++++
1 files changed, 29 insertions(+), 0 deletions(-)
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 1a10e9b..3bc4b8d 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -433,6 +433,35 @@ in the GNOME project.")
(license license:lgpl2.0+)
(home-page "https://developer.gnome.org/gdk-pixbuf/")))
+;; To build gdk-pixbuf with SVG support, we need librsvg, and librsvg depends
+;; on gdk-pixbuf, so this new varibale. Also, librsvg adds 90MiB to the
+;; closure size.
+(define-public gdk-pixbuf+svg
+ (package (inherit gdk-pixbuf)
+ (name "gdk-pixbuf+svg")
+ (inputs
+ `(("librsvg" ,librsvg)
+ ,@(package-inputs gdk-pixbuf)))
+ (arguments
+ '(#:configure-flags '("--with-x11")
+ #:tests? #f ; tested by the gdk-pixbuf package already
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'register-svg-loader
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (librsvg (assoc-ref inputs "librsvg"))
+ (loaders
+ (append
+ (find-files out "^libpixbufloader-.*\\.so$")
+ (find-files librsvg "^libpixbufloader-.*\\.so$")))
+ (gdk-pixbuf-query-loaders
+ (string-append out "/bin/gdk-pixbuf-query-loaders")))
+ (zero? (apply system* `(,gdk-pixbuf-query-loaders
+ "--update-cache" ,@loaders)))))))))
+ (synopsis
+ "GNOME image loading and manipulation library, with SVG support")))
+
(define-public at-spi2-core
(package
(name "at-spi2-core")