summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dh-elpa.el15
1 files changed, 13 insertions, 2 deletions
diff --git a/dh-elpa.el b/dh-elpa.el
index 2ec58fc..84cb3fe 100644
--- a/dh-elpa.el
+++ b/dh-elpa.el
@@ -1,6 +1,6 @@
;;; dh-elpa.el --- package.el style packages for Debian -*- lexical-binding:t -*-
-;; Copyright (C) 2015 David Bremner
+;; Copyright (C) 2015 David Bremner & contributors
;; Portions Copyright 2007-2015 The Free Software Foundation
;; Author: David Bremner <bremner@debian.org>
@@ -59,15 +59,26 @@ current time is used."
#'dhelpa-autoload-insert-section-header)
pkg-dir))
+(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 ", "))
+
;; Write out (partial) package description in a form easily parsed by
;; non-lisp tools.
(defun dhelpa-write-desc (desc dest)
(let* ((name (package-desc-name desc))
(version (package-version-join (package-desc-version desc)))
+ (deps (dhelpa-debianise-deps (package-desc-reqs desc)))
(desc-file (expand-file-name (format "%s.desc" name) dest)))
(with-temp-file desc-file
(insert (format "ELPA-Name: %s\n" name))
- (insert (format "ELPA-Version: %s\n" version)))))
+ (insert (format "ELPA-Version: %s\n" version))
+ (insert (format "ELPA-Requires: %s\n" deps)))))
;;;###autoload
(defun dhelpa-install-from-buffer (destdir &optional epoch-time)