unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
From: Alex Kost <alezost@gmail.com>
To: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Cc: 27686@debbugs.gnu.org
Subject: bug#27686: emacs-ess: Not installed in "${output}/share/emacs/site-lisp/guix.d"
Date: Sat, 19 Aug 2017 21:32:05 +0300	[thread overview]
Message-ID: <87lgmfmmsa.fsf@gmail.com> (raw)
In-Reply-To: <87k23c34vj.fsf@openmailbox.org>

Maxim Cournoyer (2017-08-15 12:08 -0400) wrote:

> On Tue, Jul 18, 2017 at 9:52 AM, Alex Kost <alezost@gmail.com> 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.

> we could simply define the EMACSLOADPATH `search-path'
> at the Emacs package definition level, and the rest would be taken
> care of by Guix native mechanisms (no hacks required).
>
> IMHO, this would be more "Guixy".

The only problem with this flat structure I see is the potential name
conflicts.  Federico (the author of the 'emacs-build-system') explained
it here:

  http://lists.gnu.org/archive/html/guix-devel/2015-06/msg00398.html

Although emacs-build-system removes such files as README or .gitignore
nowadays, name conflicts are still possible, especially for "complex"
emacs packages that provide additional non-elisp files, often placed in
sub-directories.  For example, 'emacs-slime' provides 'lib' and
'contrib' subdirs.  There may be other packages that have dirs with the
same names, and since there are thousands of Emacs packages out there,
name conflicts are possible in this case.

Otherwise, I agree that flat structure is much easier to use and handle.

> Alternatively, we would need to extend the seacrh-path facility to be
> able to deal with our own added complexity. I'm not sure if it's
> worth it.

-- 
Alex

      reply	other threads:[~2017-08-19 18:33 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-13 12:20 bug#27686: emacs-ess: Not installed in "${output}/share/emacs/site-lisp/guix.d" Adonay Felipe Nogueira
2017-07-18 13:52 ` Alex Kost
2017-07-29 20:34   ` Alex Kost
2017-08-15 14:38   ` Adonay Felipe Nogueira
2017-08-15 16:08   ` Maxim Cournoyer
2017-08-19 18:32     ` Alex Kost [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87lgmfmmsa.fsf@gmail.com \
    --to=alezost@gmail.com \
    --cc=27686@debbugs.gnu.org \
    --cc=maxim.cournoyer@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).