Hello Simon! Sorry for my delayed answer.
zimoun <zimon.touto...@gmail.com> writes: > Dear Maxim, > > On Sun, 7 Jun 2020 at 06:39, Maxim Cournoyer <maxim.courno...@gmail.com> > wrote: > >> Some people have been adding emacs-next-something packages (IIRC); I >> think it's OK for the big, complicated packages that need effort to >> port, but otherwise I wouldn't like seeing this happening for all >> packages. > > I agree. I am not suggesting to duplicate all the packages with > 'emacs-next-something'. There is already enough to do with the > current ones. :-) > > >> > Well, I am not suggesting to duplicate all the Emacs packages with >> > something like 'emacs-next-<package>' because it is too much. I am >> > suggesting to provide 'package-with-emacs-next' and then for example >> > in my manifest file I would use this new procedure to generate >> > on-the-fly these next packages; as an expert Emacs mode. >> >> That sounds like a good idea; provide a way for users to rewrite their >> package at the level of their manifest file (which is already possible >> IIUC). > > I propose to provide 'package-with-emacs-next' for the people in the > experimental mood. :-) For example, the manifest looks like: > > (use-modules (guix build-system emacs) > (gnu packages emacs) > (gnu packages emacs-xyz)) > > (packages->manifest > (cons emacs-next > (map > package-with-emacs-next > (list > emacs-lua-mode > emacs-magit)))) > > Then the expert uses it with: > > guix package -m manifest.scm > > Well, the attached patch does that. And maybe, an entry to the > Cookbook could be worth. That's really nice! Thank you for providing it. I've tried it in my manifest, by stitching a couple manifests objects together `concatenate-manifests' like so: --8<---------------cut here---------------start------------->8--- (concatenate-manifests (list ;;; Emacs packages. (packages->manifest (cons emacs-next (map package-with-emacs-next (map specification->package '("emacs-auctex" "emacs-bash-completion" [...] "emacs-yasnippet" "emacs-yasnippet-snippets"))))) ;; Other software. (specifications->manifest '("adb" [...] "arc-icon-theme" "arc-theme" ...)))) --8<---------------cut here---------------end--------------->8--- And after a couple fixes on master, I was able to build my profile with my Emacs packages collection built against Emacs 27! I'm now having some issues due to the apparent renaming of the generated autoload files. I haven't had the time to look for a fix yet. It breaks at least Helm (and probably others), as it cannot find its own autoload file. next-helm-autoloads.el -> /gnu/store/fnwalhxi94fhr8h2dfg602zd9plarwx0-emacs-next-helm-3.6.2/share/emacs/site-lisp/next-helm-autoloads.el (instead of helm-autoloads.el) > Note that 'package-with-explicite-emacs' and > 'package-with-explicit-python' should be refactored, another story. > :-) I wholly agree! It seems these have much in common. Perhaps (guix packages) could be a new home for the factored out bits. To be continued! Maxim