~ruther/guix-local

feab09f72abc6d6eec16a1b8d27c231c747c0e00 — Maxim Cournoyer 5 years ago 831c08d
gnu: gtk: Replace gdk-pixbuf+svg by librsvg.

With the addition of a profile hook for computing the gdk-pixbuf loaders cache
file, there is no longer a need for gdk-pixbuf+svg, and librsvg can propagate
gdk-pixbuf without fear, so replace the former for the latter.

The replacement was automated with the following command:

   $ git grep -l ',gdk-pixbuf+svg)' \
     | xargs sed 's/(".*" ,gdk-pixbuf+svg)/("librsvg" ,librsvg)/' -i

* gnu/packages/gtk.scm (gdk-pixbuf+svg): Delete package.
(gtk+-2)[propagated-inputs]: Replace gdk-pixbuf+svg with librsvg.
(gtk+)[propagated-inputs]: Likewise.
* gnu/packages/gnome.scm (gdk-pixbuf+svg): Add deprecated package.
M gnu/packages/dunst.scm => gnu/packages/dunst.scm +1 -1
@@ 67,7 67,7 @@
       ("which" ,which)))
    (inputs
     `(("dbus" ,dbus)
       ("gdk-pixbuf" ,gdk-pixbuf+svg)   ; for svg support
       ("librsvg" ,librsvg)   ; for svg support
       ("glib" ,glib)
       ("cairo" ,cairo)
       ("pango" ,pango)

M gnu/packages/geo.scm => gnu/packages/geo.scm +1 -1
@@ 279,7 279,7 @@ topology functions.")
       ("libsoup" ,libsoup)
       ("libgweather" ,libgweather)
       ("libxml2" ,libxml2)
       ("gdk-pixbuf" ,gdk-pixbuf+svg)
       ("librsvg" ,librsvg)
       ("glib-networking" ,glib-networking)
       ("geoclue" ,geoclue)
       ("geocode-glib" ,geocode-glib)

M gnu/packages/gnome.scm => gnu/packages/gnome.scm +7 -7
@@ 602,7 602,7 @@ in JavaScript.")
       ("vala" ,vala)))
    (inputs
     `(("avahi" ,avahi)
       ("gdk-pixbuf" ,gdk-pixbuf+svg)
       ("librsvg" ,librsvg)
       ("gee" ,libgee)
       ("gst-plugins-base" ,gst-plugins-base)
       ("gtk+" ,gtk+)))


@@ 921,7 921,7 @@ tomorrow, the rest of the week and for special occasions.")
    (inputs
     `(("babl" ,babl)
       ("cairo" ,cairo)
       ("gdk-pixbuf" ,gdk-pixbuf+svg)
       ("librsvg" ,librsvg)
       ("gegl" ,gegl)
       ("geocode-glib" ,geocode-glib)
       ("gexiv2" ,gexiv2)


@@ 2821,7 2821,7 @@ and how they are displayed (View).")
       ("gtk+:bin" ,gtk+ "bin")
       ("pkg-config" ,pkg-config)))
    (inputs
     `(("gdk-pixbuf" ,gdk-pixbuf+svg)
     `(("librsvg" ,librsvg)
       ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
       ("gtk+" ,gtk+)
       ("pango" ,pango)


@@ 4258,7 4258,7 @@ engineering.")
       ("gtk+:bin" ,gtk+ "bin")
       ("pkg-config" ,pkg-config)))
    (inputs
     `(("gdk-pixbuf" ,gdk-pixbuf+svg)
     `(("librsvg" ,librsvg)
       ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
       ("gtk+" ,gtk+)
       ("pango" ,pango)


@@ 6832,7 6832,7 @@ a secret password store, an adblocker, and a modern UI.")
    (inputs
     `(("avahi" ,avahi)
       ("gcr" ,gcr)
       ("gdk-pixbuf+svg" ,gdk-pixbuf+svg) ; for loading SVG files
       ("librsvg" ,librsvg) ; for loading SVG files
       ("glib-networking" ,glib-networking)
       ("gnome-desktop" ,gnome-desktop)
       ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)


@@ 8712,7 8712,7 @@ properties, screen resolution, and other GNOME parameters.")
       ("evolution-data-server" ,evolution-data-server)
       ("gcr" ,gcr)
       ("gdm" ,gdm)
       ("gdk-pixbuf" ,gdk-pixbuf+svg)
       ("librsvg" ,librsvg)
       ("gjs" ,gjs)
       ("gtk" ,gtk)
       ("gnome-autoar" ,gnome-autoar)


@@ 8776,7 8776,7 @@ like switching to windows and launching applications.")
       ("vala" ,vala)))
    (inputs
     `(("cairo" ,cairo)
       ("gdk-pixbuf" ,gdk-pixbuf+svg)
       ("librsvg" ,librsvg)
       ("glib" ,glib)
       ("gnutls" ,gnutls)
       ("libgcrypt" ,libgcrypt)

M gnu/packages/graphviz.scm => gnu/packages/graphviz.scm +1 -1
@@ 357,7 357,7 @@ Graphviz and LaTeX.")
                 (,(dirname (search-input-file inputs "bin/dot"))))))))))
    (inputs
     `(("atk" ,atk)
       ("gdk-pixbuf" ,gdk-pixbuf+svg)
       ("librsvg" ,librsvg)
       ("graphviz" ,graphviz)
       ("gtk+" ,gtk+)
       ("python-pycairo" ,python-pycairo)

M gnu/packages/gstreamer.scm => gnu/packages/gstreamer.scm +2 -2
@@ 311,7 311,7 @@ applications that want audio visualisation and audio visualisation plugins.")
    (inputs
     `(("alsa-lib" ,alsa-lib)
       ("esound" ,esound)
       ("gdk-pixbuf" ,gdk-pixbuf+svg)
       ("librsvg" ,librsvg)
       ("gtk+" ,gtk+-2)
       ("jack" ,jack-2)
       ("libx11" ,libx11)


@@ 668,7 668,7 @@ for the GStreamer multimedia library.")
       ("bzip2" ,bzip2)
       ("cairo" ,cairo)
       ("flac" ,flac)
       ("gdk-pixbuf" ,gdk-pixbuf+svg)
       ("librsvg" ,librsvg)
       ("glib" ,glib)
       ("glib-networking" ,glib-networking)
       ("glu" ,glu)

M gnu/packages/gtk.scm => gnu/packages/gtk.scm +3 -32
@@ 712,35 712,6 @@ scaled, composited, modified, saved, or rendered.")
    (home-page "https://wiki.gnome.org/Projects/GdkPixbuf")
    (license license:lgpl2.1+)))

;; To build gdk-pixbuf with SVG support, we need librsvg, and librsvg depends
;; on gdk-pixbuf, so this new variable.  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
     (substitute-keyword-arguments (package-arguments gdk-pixbuf)
        ((#:phases phases)
          `(modify-phases ,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")))
               (apply invoke
                      gdk-pixbuf-query-loaders
                      "--update-cache"
                      loaders))))))))
    (synopsis "Image loading library, with SVG support")))

;;; A minimal variant used to prevent a cycle with Inkscape.
(define-public at-spi2-core-minimal
  (hidden-package


@@ 901,7 872,7 @@ is part of the GNOME accessibility project.")
       ;; Rust is not supported well on every architecture yet.
       ("gdk-pixbuf" ,(if (string-prefix? "x86_64" (or (%current-target-system)
                                                       (%current-system)))
                          gdk-pixbuf+svg
                          librsvg
                          gdk-pixbuf))
       ("glib" ,glib)
       ("pango" ,pango)))


@@ 1003,7 974,7 @@ application suites.")
       ;; SVG support is optional and requires librsvg, which pulls in rust.
       ;; Rust is not supported well on every architecture yet.
       ("gdk-pixbuf" ,(if (target-x86-64?)
                          gdk-pixbuf+svg
                          librsvg
                          gdk-pixbuf))
       ("glib" ,glib)
       ("libcloudproviders" ,libcloudproviders-minimal)


@@ 1263,7 1234,7 @@ application suites.")
     ;; Following dependencies are referenced in .pc files.
     `(("cairo" ,cairo)
       ("fontconfig" ,fontconfig)
       ("gdk-pixbuf+svg" ,gdk-pixbuf+svg)
       ("librsvg" ,librsvg)
       ("glib" ,glib)
       ("graphene" ,graphene)
       ("libepoxy" ,libepoxy)

M gnu/packages/image.scm => gnu/packages/image.scm +1 -1
@@ 2352,7 2352,7 @@ GIF, TIFF, WEBP, BMP, PNG, XPM formats.")
       ("gettext" ,gettext-minimal)))
    (inputs
     `(("gtk+" ,gtk+)
       ("gdk-pixbuf" ,gdk-pixbuf+svg)
       ("librsvg" ,librsvg)
       ("hicolor-icon-theme" ,hicolor-icon-theme)
       ("libmypaint" ,libmypaint)
       ("mypaint-brushes" ,mypaint-brushes)

M gnu/packages/mail.scm => gnu/packages/mail.scm +1 -1
@@ 1686,7 1686,7 @@ compresses it.")
       ("enchant" ,enchant)
       ("expat" ,expat)
       ("fontconfig" ,fontconfig)
       ("gdk-pixbuf+svg" ,gdk-pixbuf+svg)
       ("librsvg" ,librsvg)
       ("ghostscript" ,ghostscript)
       ("glib" ,glib)
       ("gnupg" ,gnupg)

M gnu/packages/mate.scm => gnu/packages/mate.scm +6 -6
@@ 473,7 473,7 @@ sound systems.")
       ("gobject-introspection" ,gobject-introspection)))
    (inputs
     `(("cairo" ,cairo)
       ("gdk-pixbuf" ,gdk-pixbuf+svg)
       ("librsvg" ,librsvg)
       ("glib" ,glib)
       ("gtk+" ,gtk+)
       ("libx11" ,libx11)


@@ 983,7 983,7 @@ icons on the MATE desktop.  It works on local and remote file systems.")
       ("polkit" ,polkit)
       ("startup-notification" ,startup-notification)))
    (propagated-inputs
     `(("gdk-pixbuf" ,gdk-pixbuf+svg) ; mate-slab.pc
     `(("librsvg" ,librsvg) ; mate-slab.pc
       ("librsvg" ,librsvg))) ; mate-slab.pc
    (home-page "https://mate-desktop.org/")
    (synopsis "MATE Desktop configuration tool")


@@ 1219,7 1219,7 @@ Re-decorates windows on un-maximise.
       ("dbus-glib" ,dbus-glib)
       ("glib" ,glib)
       ("gtk+" ,gtk+)
       ("gdk-pixbuf" ,gdk-pixbuf+svg)
       ("librsvg" ,librsvg)
       ("libcanberra" ,libcanberra)
       ("libglade" ,libglade)
       ("libmatekbd" ,libmatekbd)


@@ 1271,7 1271,7 @@ can be used as backgrounds in the MATE Desktop environment.")
       ("cairo" ,cairo)
       ("glib" ,glib)
       ("gtk+" ,gtk+)
       ("gdk-pixbuf" ,gdk-pixbuf+svg)
       ("librsvg" ,librsvg)
       ("libcanberra" ,libcanberra)
       ("libgtop" ,libgtop)
       ("libx11" ,libx11)


@@ 1324,7 1324,7 @@ can be used as backgrounds in the MATE Desktop environment.")
       ("exempi" ,exempi)
       ("glib" ,glib)
       ("gtk+" ,gtk+)
       ("gdk-pixbuf" ,gdk-pixbuf+svg)
       ("librsvg" ,librsvg)
       ("libcanberra" ,libcanberra)
       ("libx11" ,libx11)
       ("libxext" ,libxext)


@@ 1384,7 1384,7 @@ can be used as backgrounds in the MATE Desktop environment.")
       ("file" ,file)
       ("glib" ,glib)
       ("gtk+" ,gtk+)
       ("gdk-pixbuf" ,gdk-pixbuf+svg)
       ("librsvg" ,librsvg)
       ("json-glib" ,json-glib)
       ("libcanberra" ,libcanberra)
       ("libx11" ,libx11)

M gnu/packages/messaging.scm => gnu/packages/messaging.scm +1 -1
@@ 1295,7 1295,7 @@ Encryption to Gajim.")
     ;; NOTE: Commented-out lines are to be enabled in v0.3.0.
     `(("atk" ,atk)
       ("cairo" ,cairo)
       ("gdk-pixbuf" ,gdk-pixbuf+svg)
       ("librsvg" ,librsvg)
       ("glib" ,glib)
       ("glib-networking" ,glib-networking)
       ("gpgme" ,gpgme)

M gnu/packages/networking.scm => gnu/packages/networking.scm +1 -1
@@ 745,7 745,7 @@ systems with no further dependencies.")
    (inputs
     `(("bluez" ,bluez)
       ("dbus" ,dbus)
       ("gdkpixbuf" ,gdk-pixbuf+svg)
       ("librsvg" ,librsvg)
       ("glib" ,glib)
       ("gtk+" ,gtk+)
       ("iproute2" ,iproute)

M gnu/packages/tryton.scm => gnu/packages/tryton.scm +1 -1
@@ 113,7 113,7 @@ and security.")
     `(("glib-compile-schemas" ,glib "bin")
       ("gobject-introspection" ,gobject-introspection)))
    (propagated-inputs
     `(("gdk-pixbuf" ,gdk-pixbuf+svg)
     `(("librsvg" ,librsvg)
       ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
       ("gtk+" ,gtk+)
       ("python-dateutil" ,python-dateutil)

M gnu/packages/video.scm => gnu/packages/video.scm +1 -1
@@ 4349,7 4349,7 @@ tools for styling them, including a built-in real-time video preview.")
        ("gst-libav" ,gst-libav)
        ("gsound" ,gsound)
        ("gtk+" ,gtk+)
        ("gdk-pixbuf+svg" ,gdk-pixbuf+svg)
        ("librsvg" ,librsvg)
        ("libpeas" ,libpeas)
        ("libnotify" ,libnotify)
        ("pango" ,pango)

M gnu/packages/vnc.scm => gnu/packages/vnc.scm +1 -1
@@ 119,7 119,7 @@
       ("ffmpeg" ,ffmpeg)
       ("freerdp" ,freerdp)             ; for rdp plugin
       ("gcrypt" ,libgcrypt)
       ("gdk-pixbuf" ,gdk-pixbuf+svg)
       ("librsvg" ,librsvg)
       ("glib" ,glib)
       ("gnome-keyring" ,gnome-keyring)
       ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)