[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: elisp packages discovery
From: |
Alex Kost |
Subject: |
Re: elisp packages discovery |
Date: |
Sat, 02 Sep 2017 23:08:28 +0300 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) |
Maxim Cournoyer (2017-09-01 10:49 -0400) wrote:
> Hi Alex!
>
> Alex Kost <address@hidden> writes:
>
>> Maxim Cournoyer (2017-08-15 12:08 -0400) wrote:
>>
>>> On Tue, Jul 18, 2017 at 9:52 AM, Alex Kost <address@hidden> wrote:
>> [...]
>>> A side note: this is one of the reasons why I don't like "guix.d"
>>> sub-directory. I think it is a useless extra level in the file
>>> hierarchy. If we used:
>>>
>>> .../share/emacs/site-lisp/<package>
>>>
>>> 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 <package> 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/README.org
> [1] https://wiki.gentoo.org/wiki/Project:GNU_Emacs/Developer_guide
Thanks for the pointers!
--
Alex