Subject: bug#61937: 29.0.60; [FR] use-package :ensure to allow vc sources

From: Philip Kaludercic <[email-masked]>
Date: Sat, 04 Mar 2023 09:29:26 +0000

Ruijie Yu <[email-masked]> writes:

> I have been using straight.el [1] before `use-package' was taken into
> emacs.git, as I needed to use some packages not from any elpa source but
> from vc sources.  I recently noticed the function `package-vc-install'
> has been introduced into 29, and would like to have `use-package' use it
> in its :ensure form.

This has already been proposed (with a patch) in bug#60418.

> An analogous version from straight.el has already been made available,
> which looks like the following:
>
>     (use-package foo
>       :straight (foo :repo "https://path.to/foo.el" :type git))
>
> My hope is to extend :ensure form so that a similar specification can be
> supplied to install packages directly from vc sources.

I have to admit that I am not a fan of this.  Personally I install all
my packages using regular tarballs, and then manually select packages
that I want to track in source-form if I am interested in contributing a
patch.

One has to keep in mind that by default you will be checking out the tip
of the default development branch.  This is not what GNU ELPA and NonGNU
ELPA do.  I know *some other* archives do this, but IMO this contributes
to the instability that a lot of Emacs users experience in regards to
the packages in the Emacs world.  Coincidentally I also believe that the
popularity of alternative (non-cooperative) package managers like this
"straight.el" boils down to the promise of being able to pin and revert
to previous packages states.  Personally I believe that this is an
up-side-down approach to solve the problem from the wrong angle.  The
default approach to package management should be reliable and suffice.

-- 
Philip Kaludercic