1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-14 18:10:32 -08:00
Commit graph

119 commits

Author SHA1 Message Date
Philip Kaludercic
0efc611697 Autoload all entry functions 2022-11-03 23:15:18 +01:00
Philip Kaludercic
38efed50dc ; Mention that 'package-vc-checkout' open a directory
* lisp/emacs-lisp/package-vc.el (package-vc-checkout): Mention it in
the docstring.
2022-11-03 19:41:46 +01:00
Philip Kaludercic
f5fb7069f3 ; Explicitly mark internal functions as such 2022-11-03 19:38:34 +01:00
Philip Kaludercic
0e75099da8 * lisp/emacs-lisp/package-vc.el (package-vc-version): Use main file 2022-11-03 19:28:47 +01:00
Philip Kaludercic
ec01d9a209 Add command 'package-vc-checkout'
* doc/emacs/package.texi: Document feature.
* etc/NEWS: Mention feature.
* lisp/emacs-lisp/package-vc.el (package-vc-clone): Extract
functionality out of 'package-vc-unpack'.
(package-vc-unpack): Extract functionality out to 'package-vc-clone'.
(package-vc-checkout): Add command.
2022-11-03 19:26:21 +01:00
Philip Kaludercic
7705b66ed3 ; Update TODO section 2022-11-02 17:16:39 +01:00
Philip Kaludercic
b21f80bbb9 ; Replace 'let*' with 'let' where possible
* lisp/emacs-lisp/package-vc.el (package-vc--select-packages): Do it.
(package-vc--read-archive-data): Do it.
2022-11-02 10:15:28 +01:00
Philip Kaludercic
bbe5a1ca83 Ensure 'package-vc-update' runs 'package-vc-unpack-1' only once
* lisp/emacs-lisp/package-vc.el (package-vc-update): Use
'vc-sourced-packages-list' and other hacks.
2022-11-01 16:35:23 +01:00
Philip Kaludercic
462a66e79e ; Actually check if NAME-OR-URL is a string
* lisp/emacs-lisp/package-vc.el (package-vc-install): Use stringp as
predicate instead of binding it as a variable.
2022-10-31 10:02:03 +01:00
Philip Kaludercic
c2088c0849 Allow specifying and pinning source packages to be installed
* lisp/emacs-lisp/package-vc.el (package-vc--select-packages): Add
custom setter for 'package-vc-selected-packages'.
(package-vc-selected-packages): Add user option.
2022-10-31 10:02:03 +01:00
Philip Kaludercic
8e7bb5bb87 ; Update TODO section 2022-10-30 21:12:48 +01:00
Philip Kaludercic
d33998ed3b Have 'last-change' accept a line number instead of a range
* lisp/emacs-lisp/package-vc.el (package-vc-release-rev): Use new
signature.
* lisp/vc/vc-git.el (vc-git-last-change): Update signature
* lisp/vc/vc.el (vc-default-last-change): Update signature and use
'annotate-command'.
2022-10-30 16:52:08 +01:00
Philip Kaludercic
bb86ed20e1 Display a message after installing source packages
* lisp/emacs-lisp/package-vc.el (package-vc-unpack-1): Print message
and return t.
2022-10-30 14:57:11 +01:00
Philip Kaludercic
ec3f102b8c Prefer "Package-Version" over "Version" if available
* lisp/emacs-lisp/package-vc.el (package-vc-release-rev): Search for
both in sequence.
2022-10-30 14:43:10 +01:00
Philip Kaludercic
8b49d553b6 ; Avoid a type error on malformed "elpa-packages.eld" input
* lisp/emacs-lisp/package-vc.el: Use 'eq' instead of '='
2022-10-30 14:07:56 +01:00
Philip Kaludercic
30f1e7c1e9 Extract last source package release from local VCS data
* lisp/emacs-lisp/package-vc.el (package-vc-archive-spec-alist):
Unmention :release-rev
(package-vc-desc->spec): Fall back on other archives if a
specification is missing.
(package-vc-main-file): Add new function, copying the behaviour of
elpa-admin.el.
(package-vc-generate-description-file): Use 'package-vc-main-file'.
(package-vc-unpack): Handle special value ':last-release'.
(package-vc-release-rev): Add new function using 'last-change'.
(package-vc-install): Pass ':last-release' as REV instead of a
release.
* lisp/vc/vc-git.el (vc-git-last-change): Add Git 'last-change'
implementation.
* lisp/vc/vc.el (vc-default-last-change): Add default 'last-change'
implementation.

This attempts to replicate the behaviour of elpa-admin.el's
"elpaa--get-last-release-commit".
2022-10-30 14:04:52 +01:00
Philip Kaludercic
a52cec7b6b
Explicitly handle :vc-backend in a package specification
* lisp/emacs-lisp/package-vc.el (package-vc-archive-spec-alist):
Document the feature.
(package-vc-unpack): Check for :vc-backend in both PKG-SPEC and the
archive specification data.
2022-10-28 20:13:28 +02:00
Philip Kaludercic
4097781655
Ensure that package specifications are always fetched
* lisp/emacs-lisp/package-vc.el (package-vc--archives-initialize): Add
new function, extending 'package--archives-initialize'.
(package-vc-install): Use new function.
(package-vc-link-directory): Use new function.
2022-10-28 20:10:30 +02:00
Philip Kaludercic
60b3eb0754
Allow specifying the VC backend used by 'package-vc-install'
* lisp/emacs-lisp/package-vc.el (package-vc-install): Add argument BACKEND.
2022-10-28 20:01:48 +02:00
Philip Kaludercic
a00ec87c0b
Update handling for new elpa-packages.eld format
* lisp/emacs-lisp/package-vc.el (package-vc-elpa-packages-version):
Add constant.
(package-vc-archive-data-alist): Add variable.
(package-vc--read-archive-data): Separate package specifications from
metadata.
(package-vc-unpack): Check archive metadata.
2022-10-28 19:58:05 +02:00
Philip Kaludercic
eaafc10f67
Add support for :release-rev in 'package-vc-archive-spec-alist'
* lisp/emacs-lisp/package-vc.el (package-vc-archive-spec-alist):
Update docstring.
(package-vc-install): Use :release-rev if invoked with a prefix argument.
2022-10-26 10:37:00 +02:00
Philip Kaludercic
8149fdd820
;Fix typo "pacakge" -> "package" 2022-10-23 18:46:25 +02:00
Philip Kaludercic
e31c84f4e7
Extract separate function 'package-vc-guess-backend'
* lisp/emacs-lisp/package-vc.el (package-vc-guess-backend): New
function.
(package-vc-unpack): Use it.
(package-vc-sourced-packages-list): Use it.
(package-vc-install): Use it.
2022-10-23 18:41:36 +02:00
Philip Kaludercic
a3cd8d43ae
;Fix typo "heusitic" -> "heuristic" 2022-10-23 18:38:12 +02:00
Philip Kaludercic
ca61e768d0
Use user option 'package-vc-default-backend' when cloning
* lisp/emacs-lisp/package-vc.el (package-vc-unpack): Respect
'package-vc-default-backend'.
2022-10-23 18:27:07 +02:00
Philip Kaludercic
85555ad3b7
; Require map only during compilation
As map is only used by 'pcase' during macro-expansion, it is not
necessary to load it all the time.
2022-10-23 18:20:30 +02:00
Philip Kaludercic
0e6452ccd7
; Update TODO list 2022-10-23 18:18:37 +02:00
Philip Kaludercic
2154219059
Immediately check out the right branch or revision
* lisp/emacs-lisp/package-vc.el (package-vc-unpack) Use REV to avoid
checking out the wrong branch/revision first.
* lisp/vc/vc-bzr.el: Handle REV.
* lisp/vc/vc-git.el: Handle REV.
* lisp/vc/vc-hg.el: Handle REV.
* lisp/vc/vc-svn.el: Handle REV.
* lisp/vc/vc.el: Make BACKEND optional and add REV.
2022-10-23 18:04:55 +02:00
Philip Kaludercic
a0532e148c
; Remove unnecessary "TODO"s from the package header 2022-10-23 13:15:28 +02:00
Philip Kaludercic
ab46a0df7b
; Remove unnecessary 'let' binding
* lisp/emacs-lisp/package-vc.el (pacakge-vc-desc->spec): Simplify function.
2022-10-23 13:07:48 +02:00
Philip Kaludercic
7640b0751b
Add auxiliary function to query package specifications
* lisp/emacs-lisp/package-vc.el (package-vc-query-spec): Add
inline function.
2022-10-23 13:02:25 +02:00
Philip Kaludercic
ab283bddb2
Request "elpa-packages.eld" instead of "elpa-packages"
* lisp/emacs-lisp/package-vc.el
(package-vc--read-archive-data): Apply change.
(package-vc--download-and-read-archives): Apply change.
2022-10-22 00:06:04 +02:00
Philip Kaludercic
5694278af3
Remove 'package-vc-install' alias 'package-checkout'
* lisp/emacs-lisp/package-vc.el (package-checkout): Remove it.
2022-10-21 20:39:33 +02:00
Philip Kaludercic
faeb66ae42
Have 'package-vc-link-directory' use name if given
* lisp/emacs-lisp/package-vc.el (package-vc-link-directory): Use the
NAME argument.
2022-10-20 21:45:17 +02:00
Philip Kaludercic
2dabcba148
Build documentation like elpa-admin.el
* lisp/emacs-lisp/package-vc.el (package-vc-build-documentation): Add
function to build a documentation file.
(package-vc-unpack-1): Use 'package-vc-build-documentation'.
2022-10-20 21:34:48 +02:00
Philip Kaludercic
e08e9bc40f
Remove modifications to the list of ignored files in source packages
* lisp/emacs-lisp/package-vc.el (package-vc-unpack-1): Remove
'vc-ignore' calls.
2022-10-18 22:44:35 +02:00
Philip Kaludercic
5d60ea47f6
Use 'elpa-packages' files for VC metadata
* lisp/emacs-lisp/package-vc.el (package-vc-default-backend): Add new
option.
(package-vc-archive-spec-alist): Add new variable to store the
contents of 'elpa-packages' for each archive.
(pacakge-vc-desc->spec): Add function to query package specifications.
(package-vc--read-archive-data): Add a 'package-read-archive-hook'
implementation.
(package-vc--download-and-read-archives): Add a
'package-refresh-contents-hook' implementation.
(package-vc-main-file): Remove function.
(package-vc-generate-description-file): Use package specifications.
(package-vc-unpack-1): Adapt to previous changes.
(package-vc-unpack): Adapt to previous changes.
(package-vc-sourced-packages-list): Adapt to previous changes.
(package-vc-install): Adapt to previous changes.
* lisp/emacs-lisp/package.el (package-read-archive-hook): Allow
extending 'package-read-all-archive-contents' using a hook.
(package-read-all-archive-contents): Use 'package-read-archive-hook'.
(package-refresh-contents-hook): Allow extending
'package-refresh-contents' using a hook.
(package-refresh-contents): Use 'package-refresh-contents-hook'.
2022-10-18 22:35:25 +02:00
Philip Kaludercic
39c9b6751e
Only clone packages if necessary
* lisp/emacs-lisp/package-vc.el (package-vc-unpack): Check if
directory exists before cloning.
2022-10-17 00:13:06 +02:00
Philip Kaludercic
b4e833b2f8
Attempt to infer the package subject if missing
* lisp/emacs-lisp/package-vc.el (package-vc-main-file): Add function.
(package-vc-generate-description-file): Infer the subject.
2022-10-16 17:18:06 +02:00
Philip Kaludercic
73669f73e6
Allow specifying a package name for 'package-vc-link-directory'
* lisp/emacs-lisp/package-vc.el (package-vc-link-directory): Add argument NAME
2022-10-12 21:25:54 +02:00
Philip Kaludercic
0e3b67e3a3
* lisp/emacs-lisp/package-vc.el (package-vc-refresh): Add function. 2022-10-12 21:21:38 +02:00
Philip Kaludercic
0610e6f9f1
Rename 'package-vc-link-project' to 'package-vc-link-directory'
* lisp/emacs-lisp/package-vc.el (package-vc-link-project): Rename it.
2022-10-12 20:42:19 +02:00
Philip Kaludercic
22d768a29d
Run 'package-vc-unpack-1' after updating source packages
* lisp/emacs-lisp/package-vc.el (package-vc-update): Call
'package-vc-unpack-1'.
2022-10-12 20:26:17 +02:00
Philip Kaludercic
576593a2b2
Add new command to install a package via symbolic linking
* lisp/emacs-lisp/package-vc.el (package-vc-unpack-1): Add new function.
(package-vc-unpack): Use 'package-vc-unpack-1'.
(package-vc-link-project): Add new command.
2022-10-12 17:11:21 +02:00
Philip Kaludercic
4a25205ec1
Only use 'package-vc-repository-store' if necessary
* lisp/emacs-lisp/package-vc.el (package-vc-unpack): Check if the
upstream data indicates a custom lisp directory.
* lisp/emacs-lisp/package.el (package--delete-directory): Adapt
accordingly.
2022-10-12 14:49:35 +02:00
Philip Kaludercic
8e6e6e6de5
Rename 'package-vc-fetch' to 'package-vc-install'
* lisp/emacs-lisp/package-vc.el (package-vc-fetch): Rename to preserve
symmetry with 'package-install'.
(package-checkout): Follow the previous rename.
2022-10-09 23:37:29 +02:00
Philip Kaludercic
f74d52954b
* lisp/emacs-lisp/package-vc.el: Autoload 'package-vc-prepare-patch' 2022-10-08 18:22:03 +02:00
Philip Kaludercic
a4a825df82
Clone packages into a separate directory
* lisp/emacs-lisp/package-vc.el (package-vc-repository-store): Add new
user option.
(package-vc-unpack): Use 'package-vc-repository-store'.
* lisp/emacs-lisp/package.el (package--delete-directory): Check and
handle source packages.
(package-delete): Invoke 'package--delete-directory' with an
additional argument.
2022-10-08 11:57:38 +02:00
Philip Kaludercic
432252c23f
Extend package-vc heuristics to multiple source forges
* package-vc.el (package-vc-probable-repository-regexp): Rename to
'package-vc-heusitic-alist'.
(package-vc-heusitic-alist): Add support for multiple VC backends.
(package-vc-sourced-packages-list): Use 'package-vc-heusitic-alist'
2022-10-08 11:57:38 +02:00
Philip Kaludercic
077c1533df
; * package-vc.el (package-vc-read-pkg): Return package description 2022-10-08 11:57:38 +02:00