emacs-devel
[Top][All Lists]
Advanced

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

Re: Interoperation between package managers


From: Radon Rosborough
Subject: Re: Interoperation between package managers
Date: Thu, 10 Aug 2017 19:14:15 -0700

> I don't know what you mean by "the package.el format".

I meant the one in ~/.emacs.d/elpa.

> the way I use elpa.git with package.el is:
>
>     git clone .../elpa.git
>     cd elpa
>     make
>
> and then add that directory to package-directory-list.
> That lets me use packages directly from the local Git repository (which
> I find important in order for `C-h f` and such to directly jump to
> the real source files that I can edit, with VCS metadata).

I had no idea that package.el was capable of this. Thank you for
informing me; I will have to amend some of my published criticisms of
package.el. I have actually never seen anybody else doing this with
package.el, or indeed any mention that such a thing was possible.
Thus, I have a couple of follow-up questions:

- Is this use case documented in any way? I looked at the docstring
  for `package-directory-list' and it just said that the variable is
  for system-wide use only, and that you should use `package-user-dir'
  for your personal packages. Notably absent was any mention of what
  "directories containing Emacs Lisp packages" means, since all sorts
  of different formats could be expected.

- I had originally assumed that `package-directory-list' included
  packages in an ELPA-server-compatible format, and that package.el
  would display these packages in `package-list-packages', and you
  could install them into ~/.emacs.d/elpa (thus making copies of the
  files). You are saying this is not the case, right?

- Is this the intended way to use package.el? Every tutorial I've seen
  only covers installing packages from a local or remote ELPA
  repository.

- When you modify a package, how is byte-compilation and autoload
  generation handled? Do you just have to run 'make' again? Does that
  mean you have to hope that every package's Git repository provides a
  byte-compilation and autoload generation mechanism, and then
  remember how to use each of them? (Here I am talking about packages
  that are not in GNU ELPA, i.e. the majority of them.)

- Does package.el officially support installing packages from
  version-control, or do you have to clone and manage the repositories
  manually? If not currently, is such support a future development
  target for package.el?

So package.el interop may indeed be useful for Borg. It will not be
useful for straight.el regardless, since straight.el makes
compatibility with package.el an explicit non-goal. But in any case, I
think the standardization you have proposed is a great idea, since it
appears that every package manager other than straight.el could
benefit from it.

Best,
Radon



reply via email to

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