help-guix
[Top][All Lists]
Advanced

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

Re: Can I easily install GNU Emacs 27.1.50 via Guix?


From: zimoun
Subject: Re: Can I easily install GNU Emacs 27.1.50 via Guix?
Date: Thu, 10 Dec 2020 13:27:34 +0100

Hi,

On Wed, 09 Dec 2020 at 13:46, "Jorge P. de Morais Neto" 
<jorge+list@disroot.org> wrote:
> Hi.  For GNU Emacs I manually compile the latest code from the emacs-27
> branch (and install it with GNU Stow).  That's because I want the latest
> features and fixes, but I fear that the master branch could be
> unreliable when used together with certain external packages such as
> Notmuch.  When there's a pretest version of emacs-28, I intend to switch
> to it---before it is stable---but first I'll ask on the Notmuch mailing
> list.
>
> The problem with locally compiling Emacs is that it doesn't see
> Guix-installed Elisp packages.  I currently get packages from ELPA (GNU,
> Org, Melpa and Melpa-Stable) but the last two have ethical problems, so
> I would prefer to get my packages via Guix.  I haven't yet studied Guix
> packaging, however, so I need an easy solution.  So is it possible and
> easy to get Emacs 27.1.50 via Guix?

The easiest seems to use build transformations [1] and/or write your own
variant.  The package emacs-next provides 28 at exact version/commit
$(guix show emacs-next | recsel -P version) and using a Git checkout, so
you can try:

  guix build emacs-next --with-commit=emacs-next=<commit>

where <commit> is the commit you are interested in.  If it does not work
out-of-the-box, look “guix edit emacs-next” and then use it to adapt for
your use case.

Note that all the Emacs packages are “bytecompiled” with the Emacs 27 VM
provided by the package emacs-minimal (see guix/build-system/emacs.scm),
modulo some corner cases replacing the VM; for instance ’emacs-magit’
with ’emacs-no-x’.

Therefore, there is no guarantee that:

  guix install emacs-next emacs-foo emacs-bar

works.  It is high probable that it works because the Emacs bytecode
does not often change and generally they try hard to keep compatibility.
But who knows. :-)

It is not as easy to re-bytecompiled all the Emacs packages with another
VM because of these very corner cases.  Two work-in-progress attempts:

 - package parameters [2],
 - package-with-explicit-emacs, the story starts here [3], or scroll [4].


1:
<https://guix.gnu.org/manual/devel/en/guix.html#Package-Transformation-Options>
2: <https://yhetil.org/guix/87eeku8trb.fsf@gnu.org>
3: <https://yhetil.org/guix/868scwtt34.fsf@gmail.com>
4 : <http://issues.guix.gnu.org/issue/41732>


Hope that helps,
simon



reply via email to

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