summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Marusich <cmmarusich@gmail.com>2021-03-08 23:13:39 -0800
committerChris Marusich <cmmarusich@gmail.com>2021-03-10 22:59:13 -0800
commit5d2863dfe4613d5091e61800fcd5a48922c8ce4e (patch)
treed2d7c0eff83c3913f1e0f7993875c1397298bd89
parentd4d132bc84f6c531e88e116c541e55c1210e0735 (diff)
gnu: Restore emacs' supported systems.
Recently, librsvg was updated to depend upon rust. That change inadvertently restricted the "supported" systems of emacs (among other packages) to x86_64-linux only, since that is the only system declared in the rust package's list of supported systems. This unintentionally made emacs unavailable on all other systems. This change fixes that by removing the rust dependency from some packages. The packages remain unchanged from the perspective of an x86_64-linux system, but from the perspective of other systems, the packages are now supported again (albeit without certain optional SVG features). * gnu/packages/gtk.scm (gtk+, gtk+-2)[propagated-inputs]: If compiling for x86_64, use gdk-pixbuf+svg as the "gdk-pixbuf" input, as usual. Otherwise, use gdk-pixbuf, which avoids adding librsvg (thus rust) to the closure of inputs. Note that both gtk+ and gtk+-2 are in the transitive closure of inputs of emacs, so these two changes are necessary. * gnu/packages/emacs (emacs)[inputs]: If compiling for x86_64, add librsvg to the inputs, as usual. Otherwise, do not add it, which avoids adding rust to the closure of inputs.
-rw-r--r--gnu/packages/emacs.scm8
-rw-r--r--gnu/packages/gtk.scm14
2 files changed, 19 insertions, 3 deletions
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 98061c93ae..fe5b3b25b3 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.
+ ,@(if (string-prefix? "x86_64" (or (%current-target-system)
+ (%current-system)))
+ `(("librsvg" ,librsvg))
+ '())
("libxpm" ,libxpm)
("libxml2" ,libxml2)
("libice" ,libice)
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 30ffb101ac..fbaacc11e4 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -777,7 +777,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" ,(if (string-prefix? "x86_64" (or (%current-target-system)
+ (%current-system)))
+ gdk-pixbuf+svg
+ gdk-pixbuf))
("pango" ,pango)))
(inputs
`(("cups" ,cups)
@@ -844,7 +849,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" ,(if (string-prefix? "x86_64" (or (%current-target-system)
+ (%current-system)))
+ gdk-pixbuf+svg
+ gdk-pixbuf))
("libepoxy" ,libepoxy)
("libxcursor" ,libxcursor)
("libxi" ,libxi)