]> git.eshelyaron.com Git - emacs.git/commit
Allow for packages to be installed directly from VCS
authorPhilip Kaludercic <philipk@posteo.net>
Mon, 14 Feb 2022 11:45:17 +0000 (12:45 +0100)
committerPhilip Kaludercic <philipk@posteo.net>
Mon, 14 Feb 2022 13:59:05 +0000 (14:59 +0100)
commit04c4c578c71cae77b3b782497808bb2321da3be1
tree68c9b4557e7805441f7ac839e071b8205ac83073
parentccecc87d5880a322fa6f25cfe3697af7797bfadd
Allow for packages to be installed directly from VCS

Packages installed via package-fetch are of the kind 'source, and
their extra properties may include a :upstream key (a list consisting
of the VC backend, a remote repository, a branch and a path within the
repository) and :rev key (indicating a specific revision to checkout).

* package.el (package-devel-dir): Add new option.
(package-desc): Allow an empty version string to be passed to
package-desc-from-define.
(package-desc-full-name): Handle source packages.
(vc-working-revision): Declare function for package-devel-commit.
(package-devel-commit): Add function.
(package-load-descriptor): Detect and handle source packages.
(package-load-all-descriptors): Use package-devel-dir.
(vc-clone): Declare function for package-unpack.
(package-unpack): Handle source packages.
(package-generate-description-file): Handle source packages by
ommiting a version number.
(package-install-from-archive): Check if a package is a source
package.
(package-fetch): Add new command
(package-desc-status): Check for source packages.
(package--remove-hidden): Hide regular packages from the package list
if a source package was installed.
(package-status-from-source): Add new face.
(package-menu--print-info-simple): Handle source packages.
(package-menu-mark-delete): Allow deleting source packages.
(package-menu--status-predicate): Sort source packages after
dependencies but before unsigned packages.
(package-menu-filter-by-status): Allow filtering by source packages.
lisp/emacs-lisp/package.el