From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Kost Subject: Re: elisp packages discovery Date: Sat, 02 Sep 2017 23:08:28 +0300 Message-ID: <873784uamb.fsf@gmail.com> References: <87k23c34vj.fsf@openmailbox.org> <87h8y9ua1n.fsf@gmail.com> <87lgmfmmsa.fsf@gmail.com> <87y3pywk27.fsf_-_@gmail.com> 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]:38888) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1doEiU-00023x-3G for guix-devel@gnu.org; Sat, 02 Sep 2017 16:08:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1doEiP-0003j9-4l for guix-devel@gnu.org; Sat, 02 Sep 2017 16:08:30 -0400 Received: from mail-lf0-x232.google.com ([2a00:1450:4010:c07::232]:36376) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1doEiO-0003iR-Tf for guix-devel@gnu.org; Sat, 02 Sep 2017 16:08:25 -0400 Received: by mail-lf0-x232.google.com with SMTP id z12so9749543lfd.3 for ; Sat, 02 Sep 2017 13:08:24 -0700 (PDT) In-Reply-To: <87y3pywk27.fsf_-_@gmail.com> (Maxim Cournoyer's message of "Fri, 01 Sep 2017 10:49:20 -0400") 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" To: Maxim Cournoyer Cc: guix-devel Maxim Cournoyer (2017-09-01 10:49 -0400) wrote: > Hi Alex! > > Alex Kost writes: > >> Maxim Cournoyer (2017-08-15 12:08 -0400) wrote: >> >>> On Tue, Jul 18, 2017 at 9:52 AM, Alex Kost wrote: >> [...] >>> A side note: this is one of the reasons why I don't like "guix.d" >>> sub-directory.=C2=A0 I think it is a useless extra level in the file >>> hierarchy.=C2=A0 If we used: >>> >>> =C2=A0 .../share/emacs/site-lisp/ >>> >>> While I agree that packaging elisp files in their own folder is >>> cleaner, it also introduces some complexity such as the requirement >>> to add some glue code in the Emacs site-start.el for packages >>> discovery. >>> >>> This mechanism is only valid when working with a profile; >>> at build time (say, you want to run tests which depend on other Emacs >>> packages), another hack is required + manual fiddling. >>> >>> By contrast, if all of our Emacs packages were laid out flat under >>> the usual share/emacs/site-lisp/ like it's done on other >>> distributions, >> >> I wonder how many emacs packages these distributions provide and whether >> they have any name conflicts in "site-lisp" or not. > > I should have researched what I said beforehand; I just looked at how > Debian does it, and it seems they are also isolating package files in > their own subdir under an elpa-src diretory[0], or at least going into > that direction. Their approach is a bit different; they make use of > package.el which ships with Emacs, so they do not need any custom code > in site-start. I think it would be good to reduce the size of our "site-start" code by re-using "package.el" facilities, although removing it completely will probably not be possible since we use non-standard directories, where Emacs does not look for packages (I mean the user and system Guix profiles). > Gentoo is also using a subdirectory[1]: > /usr/share/emacs/site-lisp/package/ and rely on some custom site-start > elisp glue for packages discovery. So, I'm not sure if there are any > distribution actually packaging their elisp libraries directly under the > share/emacs/site-lisp like I thought was the case. Sorry for the > misinformation! No problem! > [0] https://anonscm.debian.org/cgit/pkg-emacsen/pkg/dh-elpa.git/tree/READ= ME.org > [1] https://wiki.gentoo.org/wiki/Project:GNU_Emacs/Developer_guide Thanks for the pointers! --=20 Alex