path: root/dh-elpa.el
diff options
Diffstat (limited to 'dh-elpa.el')
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))))))
(defun dhelpa-filter-pkg-desc (desc)