From feab09f72abc6d6eec16a1b8d27c231c747c0e00 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sat, 2 Oct 2021 21:39:26 -0400 Subject: 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. --- gnu/packages/dunst.scm | 2 +- gnu/packages/geo.scm | 2 +- gnu/packages/gnome.scm | 14 +++++++------- gnu/packages/graphviz.scm | 2 +- gnu/packages/gstreamer.scm | 4 ++-- gnu/packages/gtk.scm | 35 +++-------------------------------- gnu/packages/image.scm | 2 +- gnu/packages/mail.scm | 2 +- gnu/packages/mate.scm | 12 ++++++------ gnu/packages/messaging.scm | 2 +- gnu/packages/networking.scm | 2 +- gnu/packages/tryton.scm | 2 +- gnu/packages/video.scm | 2 +- gnu/packages/vnc.scm | 2 +- 14 files changed, 28 insertions(+), 57 deletions(-) diff --git a/gnu/packages/dunst.scm b/gnu/packages/dunst.scm index 19f18dbc91..88b80bfd9d 100644 --- a/gnu/packages/dunst.scm +++ b/gnu/packages/dunst.scm @@ -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) diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index 7532943839..ea10a568fb 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -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) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index e71e28a46e..1e1f989e4b 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -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) diff --git a/gnu/packages/graphviz.scm b/gnu/packages/graphviz.scm index 25ff51194f..16fbfb6842 100644 --- a/gnu/packages/graphviz.scm +++ b/gnu/packages/graphviz.scm @@ -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) diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 1ac5cd4b8e..2a7679b490 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -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) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 005d2b8399..b199032f15 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -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) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 21fba15baa..ed846d7141 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -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) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index b9e68231ef..a40e5e5132 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -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) diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm index 08fd3562b3..41165e8de7 100644 --- a/gnu/packages/mate.scm +++ b/gnu/packages/mate.scm @@ -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) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 479ed00c94..6cd0af929d 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -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) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index f824758771..d9b5705186 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -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) diff --git a/gnu/packages/tryton.scm b/gnu/packages/tryton.scm index d5cfb63e1b..c1275edd22 100644 --- a/gnu/packages/tryton.scm +++ b/gnu/packages/tryton.scm @@ -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) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 1471691e62..f66d4e9c6f 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -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) diff --git a/gnu/packages/vnc.scm b/gnu/packages/vnc.scm index 10ae2b6e87..da81cc53f4 100644 --- a/gnu/packages/vnc.scm +++ b/gnu/packages/vnc.scm @@ -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) -- cgit 1.4.1