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

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

[nongnu] master febb7c0: * admin/archive-contents.el (batch-generate-des


From: Stefan Monnier
Subject: [nongnu] master febb7c0: * admin/archive-contents.el (batch-generate-description-file): New function
Date: Wed, 25 Nov 2020 16:23:10 -0500 (EST)

branch: master
commit febb7c00f7fc59feface917472b0c2e6e3a7dfb4
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               | 15 ++++-----------
 admin/archive-contents.el | 11 +++++++++++
 2 files changed, 15 insertions(+), 11 deletions(-)

diff --git a/GNUmakefile b/GNUmakefile
index c41a53c..867d590 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -8,7 +8,7 @@ SITE_DIR=site
 
 .PHONY: archive-tmp changelogs process-archive archive-full org-fetch clean 
all do-it
 
-all: all-in-place .gitignore
+all: all-in-place
 
 CR_EXCEPTIONS=copyright_exceptions
 .PHONY: check_copyrights
@@ -89,10 +89,6 @@ archive-full: archive-tmp org-fetch
        #mkdir -p archive/admin
        #cp admin/* archive/admin/
 
-.gitignore: externals-list
-       $(EMACS) -l $(CURDIR)/admin/archive-contents.el \
-                --eval '(archive-gitignore-externals "$<" "$@")'
-
 # FIXME: Turn it into an `external', which will require adding the notion of
 # "snapshot" packages.
 org-fetch: archive-tmp
@@ -168,7 +164,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), \
@@ -199,11 +195,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]