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: Philip Kaludercic
Subject: Re: feature/package+vc 04c4c578c7 3/4: Allow for packages to be installed directly from VCS
Date: Wed, 19 Oct 2022 07:08:34 +0000

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>> 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.

That is only possible insofar I don't have to rely on Git features,
since package-vc intends to be VC-generic.

> 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.

As part of `package-vc' or as a new module?

>> 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?

Yes exactly.

> 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`).

I would prefer the latter and will try that out.

>
>         Stefan



reply via email to

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