Hi, On Wed, 09 Dec 2020 at 13:46, "Jorge P. de Morais Neto" <jorge+l...@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....@gnu.org> 3: <https://yhetil.org/guix/868scwtt34....@gmail.com> 4 : <http://issues.guix.gnu.org/issue/41732> Hope that helps, simon