emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: feature/package+vc 04c4c578c7 3/4: Allow for packages to be installe


From: Stefan Monnier
Subject: Re: feature/package+vc 04c4c578c7 3/4: Allow for packages to be installed directly from VCS
Date: Tue, 18 Oct 2022 17:40:18 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)

> I have pushed a first draft and it appears to work.  It doesn't yet
> handle all attribute (such as :doc), but that should be doable when I
> find the time.

Side note: installing packages from Git (like what you're implementing
in the `package+vc` branch) is already one of the functionalities
supported by `elpa-admin.el` so it would be good to try and share/reuse
that code as much as possible.

Actually part of `elpa-admin.el` might also be helpful for the
ELPA-bundling feature.

So we should move more of `elpa-admin.el` into Emacs's own code.

> I wanted to add support for elpa-admin.el,

Not sure what you mean.

> and it will boil down to
> something like this:
>
>   (with-temp-buffer
>     (let ((filename (expand-file-name "elpa-packages" dir))
>           (standard-output (current-buffer)))
>       ;; Remove and compress the contents of the "elpa-pacakges"
>       (prin1 (elpaa--get-specs))
>       (write-region nil nil filename)))
>
> but I am uncertain where to add it, so that it only runs when necessary.
> Do you have any ideas?

Are you talking about the code which will run on `elpa.gnu.org` that is
supposed to push some kind of copy of `elpa-packages` to the web site so
clients can download it?

We just need to export this as a function which we can then run from
a cron job (tho you could also just call it from
`elpaa-batch-make-all-packages`, so it's run as part of the main cron
job).  But note that we can't just write out (elpaa--get-specs): we also
need to remove the `:core` packages and replace the nil `:url`s with
URLs pointing to `elpa.git` or `nongnu.git` (with corresponding `:branch`).


        Stefan




reply via email to

[Prev in Thread] Current Thread [Next in Thread]