diff options
Diffstat (limited to 'dh-elpa.el')
-rw-r--r-- | dh-elpa.el | 21 |
1 files changed, 15 insertions, 6 deletions
@@ -25,6 +25,7 @@ ;; along with dh-elpa. If not, see <http://www.gnu.org/licenses/>. (require 'package) +(require 'cl-lib) ;; Originally package-unpack from package.el in Emacs 24.5 (defun dhelpa-unpack (pkg-desc destdir &optional epoch-time) @@ -61,12 +62,20 @@ current time is used." (defun dhelpa-debianise-deps (deps) "Convert a list of package.el deps DEPS to debian/control format." - (mapconcat - (lambda (dep) - (let ((pkg-name (format "elpa-%s" (car dep))) - (pkg-ver (mapconcat 'number-to-string (car (cdr dep)) "."))) - (concat pkg-name " (>= " pkg-ver ")"))) - deps ", ")) + ;; `non-elpa' is a list of libraries that are packaged in Debian + ;; outside the elpa-* namespace, plus Emacs itself + (let* ((non-elpa (list 'emacs 's 'dash)) + (filtered-deps (cl-remove-if + (lambda (dep) + (or (memq (car dep) non-elpa) + (package-built-in-p (car dep)))) + deps))) + (mapconcat + (lambda (dep) + (let ((pkg-name (format "elpa-%s" (car dep))) + (pkg-ver (mapconcat 'number-to-string (car (cdr dep)) "."))) + (concat pkg-name " (>= " pkg-ver ")"))) + filtered-deps ", "))) ;; Write out (partial) package description in a form easily parsed by ;; non-lisp tools. |