emacs-elpa-diffs
[Top][All Lists]
Advanced

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

[elpa] elpa-admin 39eb0cf 343/357: * admin/archive-contents.el (batch-ge


From: Stefan Monnier
Subject: [elpa] elpa-admin 39eb0cf 343/357: * admin/archive-contents.el (batch-generate-description-file): New function
Date: Thu, 10 Dec 2020 18:07:11 -0500 (EST)

branch: elpa-admin
commit 39eb0cf93aaceb60766f113597268bab43c1d766
Author: Stefan Monnier <monnier@iro.umontreal.ca>
Commit: Stefan Monnier <monnier@iro.umontreal.ca>

    * admin/archive-contents.el (batch-generate-description-file): New function
    
    * GNUmakefile (%-pkg.el): Use it so we can get the release's
    version number via `:version-map`.
    (all): Don't touch `.gitignore`.
    (.gitignore): Remove rule.
    (current_elcs): Revert accidental change.
---
 GNUmakefile               |  9 +++------
 admin/archive-contents.el | 11 +++++++++++
 2 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/GNUmakefile b/GNUmakefile
index 9b7f27b..6d4e5ce 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -170,7 +170,7 @@ included_els := $(shell tar -cvhf /dev/null 
--exclude-ignore=.elpaignore \
 #                                      packages/*/*/*/*/*.el))
 els := $(call FILTER-nonsrc, $(included_els))
 naive_elcs := $(patsubst %.el, %.elc, $(els))
-current_elcs := $(shell find . -name '*.elc' -print)
+current_elcs := $(shell find packages -name '*.elc' -print)
 
 extra_els := $(call SET-diff, $(els), $(patsubst %.elc, %.el, $(current_elcs)))
 nbc_els := $(foreach el, $(extra_els), \
@@ -201,11 +201,8 @@ pkg_descs:=$(foreach pkg, $(pkgs), $(pkg)/$(notdir 
$(pkg))-pkg.el)
 #$(foreach al, $(single_pkgs), $(eval $(call RULE-srcdeps, $(al))))
 %-pkg.el: %.el
        @echo 'Generating description file $@'
-       @$(EMACS) \
-           --eval '(require (quote package))' \
-           --eval '(setq b (find-file-noselect "$<"))' \
-           --eval '(setq d (with-current-buffer b (package-buffer-info)))' \
-           --eval '(package-generate-description-file d "$@")'
+       @$(EMACS) -l admin/archive-contents.el \
+                 -f batch-generate-description-file "$@"
 
 .PHONY: all-in-place
 # Use order-only prerequisites, so that autoloads are done first.
diff --git a/admin/archive-contents.el b/admin/archive-contents.el
index e16fc0d..48a996d 100644
--- a/admin/archive-contents.el
+++ b/admin/archive-contents.el
@@ -612,6 +612,17 @@ Rename DIR/ to PKG-VERS/, and return the descriptor."
      nil
      pkg-file)))
 
+(defun batch-generate-description-file (&rest _)
+  "(Re)build the <PKG>-pkg.el file for particular packages."
+  (while command-line-args-left
+    (let* ((file (pop command-line-args-left))
+           (dir (file-name-directory file))
+           (pkg (file-name-nondirectory (directory-file-name dir)))
+           (pkg-spec (archive--get-package-spec pkg))
+           (version-map (plist-get pkg-spec :version-map)))
+      (archive--write-pkg-file dir pkg
+                               (archive--metadata dir pkg version-map)))))
+
 ;;; Make the HTML pages for online browsing.
 
 (defun archive--html-header (title &optional header)



reply via email to

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