From: Alex Kost <alezost@gmail.com>
To: Federico Beffa <beffa@ieee.org>
Cc: Guix-devel <guix-devel@gnu.org>
Subject: Re: Why do we use ".../share/emacs/site-lisp/guix.d/"?
Date: Sun, 22 May 2016 00:39:45 +0300 [thread overview]
Message-ID: <87wpmn3xb2.fsf@gmail.com> (raw)
In-Reply-To: <CAKrPhPNq5kchT8B8auX=XD2DipMft5biQMG6EifFkcr7vEO8RQ@mail.gmail.com> (Federico Beffa's message of "Sat, 21 May 2016 12:47:03 +0200")
Federico Beffa (2016-05-21 13:47 +0300) wrote:
> On Fri, May 20, 2016 at 11:00 PM, Alex Kost <alezost@gmail.com> wrote:
>> Federico Beffa (2016-05-20 09:53 +0300) wrote:
>>
>
> [...]
>
>>> (note 1): If you want an example look at emacs-slime.
>>
>> Sorry, I really don't understand what you want to illustrate with this
>> example.
>
> a package which includes sub-directories not including .el files.
So you mean this:
.../share/emacs/site-lisp/<package>/<subdir-with-non-elisp>
There is absolutely no problem with this. Originally you said that
non-elisp dirs may be wrongfully added to 'load-path', but this will
never happen because only <package> dir will be added.
>>> Because I
>>> prepared that package, I decided to use the emacs-build-system and so
>>> the extra sub-directory doesn't reside directly under site-lisp. But it
>>
>> What extra sub-directory do you mean? Currently the package is
>> installed in:
>>
>> .../share/emacs/site-lisp/guix.d/slime-2.15/
>>
>> If we remove "guix.d", it will be:
>>
>> .../share/emacs/site-lisp/slime-2.15/
>>
>> So what's the problem?
>
> you can't distinguish it from a package installed with, say,
> gnu-build-system including non elisp sub-directories.
And such distinguishing is not needed! You will have *.el files in
"share/emacs/site-lisp/<package>/" and it doesn't matter what build
system puts these files there. Non-elisp sub-directories doesn't make
any difference.
> And you made
> examples of them and said that you would prefer not to "fix" them.
Exactly, because it is not needed. For example, magit places its files
to "share/emacs/site-lisp/magit" dir by default, so if "site-lisp"
subdirs will be handled as we handle "site-lisp/guix.d" subdirs now,
there will be no need to change this default behaviour of magit.
> I think you are missing the whole idea of the emacs-build-system.
With all respect, no I don't miss this idea.
> It
> is intended to replicate the behavior of Emacs's packaging system,
This is unrelated, but it does not replicate it fully, because we don't
create *-pkg.el files, so the in-built emacs package system ("M-x
list-packages") can't see these packages, even if ".../guix.d" dir will
be added to 'package-directory-list' variable. Mathieu mentioned this
feature used by debian on IRC¹
> that is to be used with emacs package tar files only. Emacs packages
> are installed in ~.emacs.d/elpa and they are packaged to include
> non-elisp files because Emacs run as a user has no permission to put
I can only repeat that there is no problem with non-elisp files.
> them in system locations. The emacs-build-system simply replaces
> ~/.emacs.d/elpa with ~/.guix-profile/share/emacs/site-lisp/guix.d.
Yes, and all I suggest is to replace ~/.emacs.d/elpa with
~/.guix-profile/share/emacs/site-lisp. Why to use additional "guix.d"
subdir?
> That's all. For the rest the two systems are intended to behave the
> same. If you change the location of files it's likely that the
> packages will not work and you open a can of worms with infinite
> fixes.
It is absolutely unlikely that the packages will not work. They will
work as they work now! It doesn't matter what directory we use to place
the packages in. It can be:
~/.guix-profile/share/emacs/site-lisp/guix.d/guix.d/guix.d/ or
~/.guix-profile/share/emacs/site-lisp/guix.d/ or
~/.guix-profile/whatever/we/want/ or
~/.guix-profile/share/emacs/site-lisp/
The last one looks the most appropriate for me.
I'm sure that I'm right, and I see you're sure you're right. I tried
hardly to explain my point, and I'm sure you still don't understand what
I want to say. I think you are sure that I don't understand the
potential problems you see.
But I agree with you that this will not be a technical improvement
anyway, so I better spend my time on other things, let's leave "guix.d"
alone for now. But I will tell my point on "guix.d" every time and
everywhere it will be mentioned :-)
¹ https://gnunet.org/bot/log/guix/2016-05-12#T1027988
--
Alex
next prev parent reply other threads:[~2016-05-21 21:39 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-08 10:33 Why do we use ".../share/emacs/site-lisp/guix.d/"? Alex Kost
2016-05-08 16:23 ` Federico Beffa
2016-05-08 19:51 ` Alex Kost
2016-05-08 20:06 ` Federico Beffa
2016-05-09 6:42 ` Federico Beffa
2016-05-09 9:13 ` Alex Kost
2016-05-16 21:15 ` Ludovic Courtès
2016-05-17 18:14 ` Alex Kost
2016-05-19 12:02 ` Ludovic Courtès
2016-05-20 6:53 ` Federico Beffa
2016-05-20 21:00 ` Alex Kost
2016-05-21 10:47 ` Federico Beffa
2016-05-21 21:39 ` Alex Kost [this message]
2016-05-22 20:28 ` Ludovic Courtès
2016-05-08 16:51 ` Ludovic Courtès
2016-05-08 19:58 ` Alex Kost
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=87wpmn3xb2.fsf@gmail.com \
--to=alezost@gmail.com \
--cc=beffa@ieee.org \
--cc=guix-devel@gnu.org \
/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).