guix-devel
[Top][All Lists]
Advanced

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

Re: core-updates: Emacs is only supported on x86_64-linux?


From: Mark H Weaver
Subject: Re: core-updates: Emacs is only supported on x86_64-linux?
Date: Sun, 07 Mar 2021 05:46:24 -0500

Hi Chris,

Chris Marusich <cmmarusich@gmail.com> writes:
> I've noticed that the emacs package only supports x86_64-linux, at least
> on core-updates.  Is that intended?

It's not intended.  Emacs should certainly be supported on every system
that Guix supports.

> As for the cause, it looks like one contributing factor might be the
> rust package.  It was recently added to the transitive closure of inputs
> of emacs.  The rust package explicitly declares x86_64-linux as its only
> supported system.  This restriction percolates up to emacs, and indeed
> to any other package that contains rust in its transitive closure of
> inputs.

Yes, exactly.

For now, I suggest that Emacs should have input 'librsvg' only on
'x86_64-linux' systems.  Something like this (untested), for
core-updates:

--8<---------------cut here---------------start------------->8---
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 98061c93ae..de6101cf17 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,10 @@
        ("libpng" ,libpng)
        ("zlib" ,zlib)
 
-       ("librsvg" ,librsvg)
+       ,@(match (or (%current-target-system)
+                    (%current-system))
+           ("x86_64-linux" `(("librsvg" ,librsvg)))
+           (_ `()))
        ("libxpm" ,libxpm)
        ("libxml2" ,libxml2)
        ("libice" ,libice)
--8<---------------cut here---------------end--------------->8---

Ditto for all other packages with 'librsvg' as an optional dependency.

> I noticed because it caused "make check" to fail on the wip-ppc64le
> branch (which is based on core-updates).  I fixed one failing test on
> the wip-ppc64le branch by using coreutils instead of emacs in the test:
>
> https://git.savannah.gnu.org/cgit/guix.git/commit/?h=wip-ppc64le&id=1900a6227e99427cf3b28a86dbbee2c55f375f8c
>
> I suspect that - on core-updates, at least - Guix does not currently
> pass its "make check" test suite on any system other than x86_64-linux.
>
> I would like to cherry-pick the above fix onto core-updates.  However,
> before doing that, I wanted to check on this list to see if anyone knew
> anything about the current situation.  Is it intended that the emacs
> package only supports x86_64-linux?

While I'm not strongly opposed to the workaround above, it seems to me
the wrong fix.  I think we should simply fix our Emacs package, as
outlined above.  It should be easy.

What do you think?  Would you like to try?

      Mark



reply via email to

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