From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: emacs packages Date: Mon, 22 Jun 2015 21:43:37 +0200 Message-ID: <87pp4n8r6e.fsf@gnu.org> References: <878ubjskwj.fsf@gnu.org> <87twu3x5ds.fsf@gnu.org> <87381kojei.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:59801) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z77dA-0002mP-CH for guix-devel@gnu.org; Mon, 22 Jun 2015 15:43:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z77d6-0004p7-BX for guix-devel@gnu.org; Mon, 22 Jun 2015 15:43:44 -0400 In-Reply-To: (Federico Beffa's message of "Mon, 22 Jun 2015 09:30:19 +0200") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Federico Beffa Cc: Guix-devel Federico Beffa skribis: > On Sun, Jun 21, 2015 at 11:12 PM, Ludovic Court=C3=A8s wro= te: >> Federico Beffa 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, =E2=80=98README=E2=80=99 and =E2=80= =98ChangeLog=E2=80=99 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=E2=80=99s 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=E2=80=99t 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=E2=80=99t feel strongly against what you suggest. My main concern wo= uld be the introduction of extra complexity that=E2=80=99s not strictly needed,= but you seem to be saying that it *is* needed. Regardless, what matters most to me is that guix.el and =E2=80=98emacs-build-system=E2=80=99 work consistently. Thank you! Ludo=E2=80=99.