branch: elpa-admin commit eb92dfc76a92ab93af77a1f3e292e14c5413707c Author: Stefan Monnier <monn...@iro.umontreal.ca> Commit: Stefan Monnier <monn...@iro.umontreal.ca>
Fix repo links for :core packages * GNUmakefile: Circumvent command-line length limit. * admin/archive-contents.el (archive--insert-repolinks): Fix handling of :core packages. --- GNUmakefile | 5 ++++- admin/archive-contents.el | 30 +++++++++++++++++++++--------- 2 files changed, 25 insertions(+), 10 deletions(-) diff --git a/GNUmakefile b/GNUmakefile index 037fbb6..9797306 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -105,7 +105,10 @@ pkgs := $(foreach pkg, $(wildcard packages/*), \ $(if $(shell [ -d "$(pkg)" ] && echo true), $(pkg))) define SET-diff -$(shell echo "$(1)" "$(2)" "$(2)" | tr ' ' '\n' | sort | uniq -u) +$(shell $(file > .tmp.setdiff, $(1)) \ + $(file >> .tmp.setdiff, $(2)) \ + $(file >> .tmp.setdiff, $(2)) \ + tr ' ' '\n' < .tmp.setdiff | sort | uniq -u ; rm .tmp.setdiff) endef define FILTER-nonsrc diff --git a/admin/archive-contents.el b/admin/archive-contents.el index 9952469..240b7a7 100644 --- a/admin/archive-contents.el +++ b/admin/archive-contents.el @@ -1,6 +1,6 @@ ;;; archive-contents.el --- Auto-generate an Emacs Lisp package archive. -*- lexical-binding:t -*- -;; Copyright (C) 2011-2017 Free Software Foundation, Inc +;; Copyright (C) 2011-2018 Free Software Foundation, Inc ;; Author: Stefan Monnier <monn...@iro.umontreal.ca> @@ -459,19 +459,31 @@ Rename DIR/ to PKG-VERS/, and return the descriptor." (setq url nil))) (let* ((externals (archive--read-externals-list (expand-file-name "../../../elpa" srcdir))) - (external (eq :external (nth 1 (assoc name externals)))) + (extern-desc (assoc name externals)) + (external (eq :external (nth 1 extern-desc))) (git-sv "http://git.savannah.gnu.org/") - (urls (if external - '("cgit/emacs/elpa.git/?h=externals/" - "gitweb/?p=emacs/elpa.git;a=shortlog;h=refs/heads/externals/") - '("cgit/emacs/elpa.git/tree/packages/" - "gitweb/?p=emacs/elpa.git;a=tree;f=packages/")))) + (urls + (if (eq (nth 1 extern-desc) :core) + (let ((files (nthcdr 2 extern-desc)) + (file (if (cdr files) + (file-name-directory + (try-completion "" (nthcdr 3 extern-desc))) + (car files)))) + (mapcar (lambda (s) (concat s file)) + '("cgit/emacs.git/tree/" + "gitweb/?p=emacs.git;a=tree;f="))) + (mapcar (lambda (s) (concat s name)) + (if (eq (nth 1 extern-desc) :external) + '("cgit/emacs/elpa.git/?h=externals/" + "gitweb/?p=emacs/elpa.git;a=shortlog;h=refs/heads/externals/")) + '("cgit/emacs/elpa.git/tree/packages/" + "gitweb/?p=emacs/elpa.git;a=tree;f=packages/")))) (insert (format (concat (format "<dt>Browse %srepository</dt> <dd>" (if url "ELPA's " "")) "<a href=%S>%s</a> or <a href=%S>%s</a></dd>\n") - (concat git-sv (nth 0 urls) name) + (concat git-sv (nth 0 urls)) 'CGit - (concat git-sv (nth 1 urls) name) + (concat git-sv (nth 1 urls)) 'Gitweb)))) (defun archive--html-make-pkg (pkg files)