guix-commits
[Top][All Lists]
Advanced

[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")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]