summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2015-12-17 11:03:13 -0700
committerDavid Bremner <bremner@debian.org>2016-01-03 19:19:13 -0400
commit18cd13596e560a06ccb3a6f808f83d12106fe1f9 (patch)
tree20fe5d609a9b582aa478374b62f41c2f5c6d2145
parent983e60fd072e78483f22541daf1befda32e50930 (diff)
dhelpa-write-desc also writes package dependencies
-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)