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.
This commit is contained in:
Chris Marusich 2021-03-08 23:13:39 -08:00
parent d4d132bc84
commit 5d2863dfe4
No known key found for this signature in database
GPG key ID: DD409A15D822469D
2 changed files with 19 additions and 3 deletions

View file

@ -71,6 +71,7 @@ (define-module (gnu packages emacs)
#: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 @@ (define* (emacs-byte-compile-directory dir)
("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)

View file

@ -777,7 +777,12 @@ (define-public gtk+-2
(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 @@ (define-public gtk+
(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)