summaryrefslogtreecommitdiff
path: root/dh-elpa.el
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2017-01-01 18:32:59 +0000
committerSean Whitton <spwhitton@spwhitton.name>2017-01-01 18:32:59 +0000
commitf897fba539dabcfc59d8fef705b33d32cb5aa6b7 (patch)
tree792eac0847a03602552bceaeda920c07dafd1a66 /dh-elpa.el
parent17834899329465f671025d2d4afc469f8a92b4ef (diff)
add separately-packaged built-in packages to ${elpa:Depends}
Diffstat (limited to 'dh-elpa.el')
-rw-r--r--dh-elpa.el23
1 files changed, 18 insertions, 5 deletions
diff --git a/dh-elpa.el b/dh-elpa.el
index 094913e..8017851 100644
--- a/dh-elpa.el
+++ b/dh-elpa.el
@@ -172,11 +172,24 @@ such a case."
"Filter a list of package.el deps DEPS for Debian.
Remove packages that are maintained outside of the elpa-*
-namespace in Debian, plus Emacs itself."
- (let ((non-elpa (list 'emacs 's 'dash 'yasnippet)))
- (cl-remove-if (lambda (dep)
- (or (memq (car dep) non-elpa)
- (package-built-in-p (car dep))))
+namespace in Debian, plus Emacs itself.
+
+Also remove built-in packages, except those built-in packages
+that are also packaged separately in Debian.
+
+These are packaged separately for two reasons:
+
+- it allows us to provide newer versions than those in Emacs core
+
+- it permits use of addons with older versions of Emacs, for
+ which the dependency is not yet a built-in package."
+ (let ((non-elpa (list 'emacs 's 'dash 'yasnippet))
+ (packaged-separately (list 'let-alist 'seq)))
+ (cl-remove-if (lambda (dep) (let ((pkg (car dep)))
+ (or (memq pkg non-elpa)
+ (and
+ (package-built-in-p pkg)
+ (not (memq pkg packaged-separately))))))
deps)))
(defun dhelpa-filter-pkg-desc (desc)