guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/02: gnu: Restore emacs' supported systems.


From: guix-commits
Subject: 01/02: gnu: Restore emacs' supported systems.
Date: Thu, 11 Mar 2021 02:01:20 -0500 (EST)

marusich pushed a commit to branch core-updates
in repository guix.

commit 5d2863dfe4613d5091e61800fcd5a48922c8ce4e
Author: Chris Marusich <cmmarusich@gmail.com>
AuthorDate: Mon Mar 8 23:13:39 2021 -0800

    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.
---
 gnu/packages/emacs.scm |  8 +++++++-
 gnu/packages/gtk.scm   | 14 ++++++++++++--
 2 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 98061c9..fe5b3b2 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 30ffb10..fbaacc1 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)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]