From: Arthur Miller <arthur.miller@live.com>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: Philip Kaludercic <philipk@posteo.net>, emacs-devel@gnu.org
Subject: Re: Easy configuration of a site-lisp directory
Date: Thu, 26 Aug 2021 02:16:21 +0200 [thread overview]
Message-ID: <AM9PR09MB497760C30E7F79521B6D421896C79@AM9PR09MB4977.eurprd09.prod.outlook.com> (raw)
In-Reply-To: <jwvwno978t4.fsf-monnier+emacs@gnu.org> (Stefan Monnier's message of "Wed, 25 Aug 2021 13:27:04 -0400")
Stefan Monnier <monnier@iro.umontreal.ca> writes:
> Philip Kaludercic [2021-08-25 14:55:20] wrote:
>> Stefan Monnier <monnier@iro.umontreal.ca> writes:
>>> Philip Kaludercic [2021-08-25 11:13:49] wrote:
>>>> Stefan Monnier <monnier@iro.umontreal.ca> writes:
>>>>> Max Brieiev [2021-08-23 12:14:46] wrote:
>>>>>> So is there any conclusion in this long thread about preferable setup
>>>>>> for the case described in the original post? And making local git
>>>>>> repositeries be package.el aware.
>>>>>
>>>>> From my point of view, the "preferable setup" is for someone to spice up
>>>>> `elpa-admin.el` to make it more user-friendly for that use-case.
>>>>
>>>> I could look into this, because I was intending to work on elpa-admin.el
>>>> a bit anyway. But this would mean that it wouldn't work OOTB, right?
>>>
>>> Not sure what you mean by that, but I'm pretty sure the answer is no.
>>
>> My suggestion to add something like site-lisp.el to Emacs itself was to
>> allow anyone to use unpackaged elisp code on their local system, without
>> having to manually bother with updating load-path and autoloading.
>
> Right, and the approach I use in elpa-admin.el indeed allows that.
> To recap, here's what it does:
>
> - Git clone <foo> from upstream into .../somewhere/<foo>.
If I may interfere, jere is probably good to create a branch (automated) for the
installed version. Update can later checkout to back ot main or release branch,
do a pull, and than do a new installed version.
> - In that directory, create a <foo>-pkg.el and a <foo>-autoloads.el.
> - Byte-compile the .el files.
> - Add `.../somewhere` to `package-directory-list`.
>
> The last step is only done once and forall rather than once per package.
>
> IOW it acts as an alternative package installer: package.el could/should
> be split into a part that deals with using (activating) the packages
> currently installed (i.e. basically `package-activate-all` and the code
> it uses) and a part that deals with ELPA repositories and installs
> packages into (and remove froms) `package-user-dir`.
> [ Side note: the byte-compilation should be moved out of the
> installation step, not only so it can be shared between different UIs
> and installers, but also so we can re-compile upon request. ]
>
> Then of course you'll want to add further features:
>
> - commands to update packages, i.e. do a `git pull` and recreate/refresh
> the two files.
> - support for creating Info docs out of Texinfo.
> - support for packages where the Elisp code is not at the root of the
> clone but in some subdirectory.
> - allow the user to choose to select an actual *release* rather than the
> bleeding edge.
>
> The above listed features are those that `elpa-admin.el` currently
> supports (to some extent, in one form or another), but of course, there
> could be more.
>
> Currently, for many packages all you need is the URL of the upstream
> repository, but for others we need extra information in the "package
> spec", such as where to find the Texinfo source. In the context of
> `elpa-admin.el` the extra info for this "package spec" are provided in
> the `elpa-packages` file but I think it would make sense to make it
> possible for the package to provide this info directly (e.g. via
> additional pseudo-headers in the <foo>.el file).
But you only do this for packages in elpa/nelpa? That does not handle random git
repos from www? This does not manage dependencies for gir repos whithout spec.
next prev parent reply other threads:[~2021-08-26 0:16 UTC|newest]
Thread overview: 89+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-08 15:40 Easy configuration of a site-lisp directory Philip Kaludercic
2021-08-08 18:18 ` Stefan Monnier
2021-08-08 18:53 ` Philip Kaludercic
2021-08-08 20:03 ` Stefan Monnier
2021-08-08 22:43 ` dick
2021-08-08 23:16 ` Stefan Monnier
2021-08-09 0:43 ` dick
2021-08-09 3:13 ` Clément Pit-Claudel
2021-08-09 16:59 ` Eli Zaretskii
2021-08-09 18:33 ` Clément Pit-Claudel
2021-08-09 18:49 ` dick
2021-08-09 22:11 ` Clément Pit-Claudel
2021-08-10 8:24 ` Arthur Miller
2021-08-10 8:31 ` Arthur Miller
2021-08-09 18:52 ` Eli Zaretskii
2021-08-09 22:14 ` Clément Pit-Claudel
2021-08-10 11:55 ` Eli Zaretskii
2021-08-10 8:10 ` Arthur Miller
2021-08-10 12:06 ` Eli Zaretskii
2021-08-10 13:43 ` Yuri Khan
2021-08-10 14:01 ` Eli Zaretskii
2021-08-10 15:10 ` Yuri Khan
2021-08-10 15:39 ` dick
2021-08-10 15:49 ` Stefan Monnier
2021-08-10 17:31 ` Arthur Miller
2021-08-10 15:44 ` Eli Zaretskii
2021-08-10 17:25 ` Clément Pit-Claudel
2021-08-10 17:50 ` Eli Zaretskii
2021-08-10 18:06 ` Clément Pit-Claudel
2021-08-10 18:23 ` Eli Zaretskii
2021-08-10 20:51 ` Stefan Monnier
2021-08-11 2:23 ` Eli Zaretskii
2021-08-11 5:31 ` Stefan Monnier
2021-08-11 13:42 ` Basil L. Contovounesios
2021-08-11 16:34 ` Eli Zaretskii
2021-08-11 18:21 ` Basil L. Contovounesios
2021-08-12 5:48 ` Eli Zaretskii
2021-08-10 17:35 ` Clément Pit-Claudel
2021-08-10 17:24 ` Arthur Miller
2021-08-10 17:22 ` Arthur Miller
2021-08-10 17:45 ` Eli Zaretskii
2021-08-09 6:52 ` Arthur Miller
2021-08-09 11:50 ` dick
2021-08-09 15:27 ` Arthur Miller
2021-08-19 9:25 ` Philip Kaludercic
2021-08-19 20:24 ` Arthur Miller
2021-08-19 21:43 ` Arthur Miller
2021-08-19 21:47 ` Arthur Miller
2021-08-19 21:59 ` Philip Kaludercic
2021-08-20 0:21 ` Arthur Miller
2021-08-20 21:36 ` Arthur Miller
2021-08-21 1:56 ` Stefan Monnier
2021-08-21 2:46 ` Arthur Miller
2021-08-21 3:12 ` Arthur Miller
2021-08-21 6:39 ` Eli Zaretskii
2021-08-21 6:48 ` tomas
2021-08-21 7:00 ` Eli Zaretskii
2021-08-21 7:19 ` symlinks and W32 [was: Easy configuration of a site-lisp directory] tomas
2021-08-21 14:15 ` Arthur Miller
2021-08-21 14:20 ` Eli Zaretskii
2021-08-21 19:12 ` Arthur Miller
2021-08-21 14:34 ` Easy configuration of a site-lisp directory Arthur Miller
2021-08-21 14:42 ` Eli Zaretskii
2021-08-21 19:10 ` Arthur Miller
2021-08-21 19:18 ` Eli Zaretskii
2021-08-21 20:25 ` Arthur Miller
2021-08-22 6:03 ` Eli Zaretskii
2021-08-25 10:47 ` Philip Kaludercic
2021-08-25 22:13 ` Arthur Miller
2021-08-26 9:42 ` Philip Kaludercic
2021-08-26 15:58 ` Arthur Miller
2021-08-20 10:23 ` Augusto Stoffel
2021-08-20 12:47 ` Arthur Miller
2021-08-23 9:14 ` Max Brieiev
2021-08-24 21:35 ` Stefan Monnier
2021-08-25 11:13 ` Philip Kaludercic
2021-08-25 14:37 ` Stefan Monnier
2021-08-25 14:55 ` Philip Kaludercic
2021-08-25 17:27 ` Stefan Monnier
2021-08-26 0:16 ` Arthur Miller [this message]
2021-08-26 4:10 ` Stefan Monnier
2021-08-26 15:38 ` Arthur Miller
2021-08-26 18:03 ` Stefan Monnier
2021-08-26 21:40 ` Arthur Miller
2021-08-25 22:29 ` Arthur Miller
-- strict thread matches above, loose matches on Subject: below --
2021-08-12 2:44 No Wayman
2021-08-12 12:41 ` dick
2021-08-12 14:48 ` No Wayman
2021-08-12 16:24 ` dick
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://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=AM9PR09MB497760C30E7F79521B6D421896C79@AM9PR09MB4977.eurprd09.prod.outlook.com \
--to=arthur.miller@live.com \
--cc=emacs-devel@gnu.org \
--cc=monnier@iro.umontreal.ca \
--cc=philipk@posteo.net \
/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/emacs.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).