Federico Beffa <be...@ieee.org> skribis: > On Sun, Jun 21, 2015 at 11:12 PM, Ludovic Courtès <l...@gnu.org> wrote: >> Federico Beffa <be...@ieee.org> skribis:
[...] >>>>> Unfortunately this doesn't work without modification. The reason is >>>>> that I follow the emacs package.el strategy to install each ELPA >>>>> package in it's own sub-directory. Specifically, I'm installing each >>>>> package into ".../site-lisp/guix.d/PACKAGE-NAME-VERSION/". The code >>>>> in 'guix.el', however, doesn't look in sub-directories below the >>>>> profile's '.../site-lisp'. [...] >>> the reason for using separate sub-directories is that many packages >>> include files, such as README, ChangeLog, ..., that are likely to >>> clash. Even if we would delete all non ".el" files (which probably is >>> not safe), with more than 2500 packages on MELPA, it is possible that >>> we would still experience some name clashes. I can imagine that >>> someone preparing a package may be unaware of the existence of some >>> other package, possibly not very popular in his circle. >> >> What about copying all the .el files to .../site-lisp, and copy the >> other files elsewhere (for instance, ‘README’ and ‘ChangeLog’ to >> share/doc/$PACKAGE, and .info files to share/info)? > > I am copying .info files to share/info. Ah OK, perfect then! > I'm not copying README files to share/doc because these usually do not > provide useful documentation for the user and ChangeLog are usually > not up-to-date relict. But if somebody feels strongly about it, I can > change that. No, that’s fine. >> Note that name clashes in profiles are annoying, but not fatal. > > For .el files they are. They are fatal but rare, no? My impression is that people prefix their .el file names with the package name. In my profile I have emms, bbdb, emacs-w3m, magit & deps, geiser, cflow, etc. and there are zero clashes. I don’t see any clash in the dozen of packages I still have in ~/.emacs.d/elpa/ either. > I also do not think that it is very sane ending up with a flat > directory including hundreds of files. Some hierarchy makes the > organization much more apparent and clean. The problem is that, unlike Guile modules, elisp module names are inherently flat, hence the PACKAGE-foo.el convention that people seem to follow. But perhaps that convention is not strictly followed, which would explain why package.el took this route? I don’t feel strongly against what you suggest. My main concern would be the introduction of extra complexity that’s not strictly needed, but you seem to be saying that it *is* needed. Regardless, what matters most to me is that guix.el and ‘emacs-build-system’ work consistently. Thank you! Ludo’.