diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 98061c93ae..4d2caf205a 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -71,6 +71,7 @@ #:use-module (gnu packages xml) #:use-module (gnu packages xorg) #:use-module (guix utils) + #:use-module (ice-9 match) #:use-module (srfi srfi-1)) (define-public emacs @@ -236,7 +237,12 @@ ("libpng" ,libpng) ("zlib" ,zlib) - ("librsvg" ,librsvg) + ;; librsvg is an optional dependency that pulls in rust. Rust is not + ;; supported well on every architecture yet. + ,@(match (or (%current-target-system) + (%current-system)) + ("x86_64-linux" `(("librsvg" ,librsvg))) + (_ '())) ("libxpm" ,libxpm) ("libxml2" ,libxml2) ("libice" ,libice) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index f458366fb6..0468cbf830 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -776,7 +776,12 @@ is part of the GNOME accessibility project.") (outputs '("out" "bin" "doc")) (propagated-inputs `(("atk" ,atk) - ("gdk-pixbuf" ,gdk-pixbuf+svg) + ;; SVG support is optional and requires librsvg, which pulls in rust. + ;; Rust is not supported well on every architecture yet. + ("gdk-pixbuf" ,(match (or (%current-target-system) + (%current-system)) + ("x86_64-linux" gdk-pixbuf+svg) + (_ gdk-pixbuf))) ("pango" ,pango))) (inputs `(("cups" ,cups) @@ -843,7 +848,12 @@ application suites.") (propagated-inputs `(("at-spi2-atk" ,at-spi2-atk) ("atk" ,atk) - ("gdk-pixbuf" ,gdk-pixbuf+svg) + ;; SVG support is optional and requires librsvg, which pulls in rust. + ;; Rust is not supported well on every architecture yet. + ("gdk-pixbuf" ,(match (or (%current-target-system) + (%current-system)) + ("x86_64-linux" gdk-pixbuf+svg) + (_ gdk-pixbuf))) ("libepoxy" ,libepoxy) ("libxcursor" ,libxcursor) ("libxi" ,libxi)