> The problem here is, that Guix does not include the <package>-pkg.el > file, that would typically be generated by package.el. To deal with > this, you have to provide package specs on your own. There already > exists a utility to locate libraries in a package manager agnostic > fashion [1], all you need to do is to feed back that information to > package.el.
Yep, I figured it out yesterday and even hacked around a little bit. Patched emacs-build-system to place packages under elpa/NAME-VERSION subdirectory and removed "-pkg\\.el$" from %default-exclude. > I have now published emacs-dpd [2], which does exactly that. To use it > for your Guix Emacs packages, execute > (dpd (list "$GUIX_PROFILE/share/emacs/site-lisp" ...)) > replacing "$GUIX_PROFILE" with the actual profile, after `package- > initialize' has run with `dpd-fuzzy-recognize' in `dpd-recognize-hook'. > I might write a more detailed README later. Most of the packages already have -pkg.el in sources, but yep, pretty cool utility, also thought about implementing something like that yesterday, but luckily I didn't and now I do not need to do it, because now I'm aware of already-existing implementations!) > Neither packed nor dpd are currently packaged in Guix. packed can > easily be imported from melpa-stable, but for dpd you'd have to write > your own guix.scm. I might do that at some point as well. > We already had modifications in emacs-build-system recently, so if you > want to argue, that all Emacs packages should have that <package>- > pkg.el to work with package.el out of the box, I would ask you to wait, > so as to not cause an "Emacs world" rebuild again after only ten days. > I also don't know whether Guix has the same information as package.el > at build time, but that might change with time as well. Particularly, > there will hopefully be a move towards supplying name and version at > build, which would give us the most important information. Very cool, I didn't have the latest changes on my local checkout and didn't see your commits, but now I see, it is exactly what I needed. The only side note: it should be site-lisp/elpa/NAME-VERSION (right now it is site-lisp/NAME-VERSION). Also, on line 137 elpa-directory function can be used. When you will be updating the path, please remove -pkg.el from %default-exclude. Thank you very much for your work! Really appreciate it! -- Best regards, Andrew Tropin