Skip to content

Commit 546cc08

Browse files
committed
code: split up pkg-file logic
1 parent 4aa327b commit 546cc08

File tree

2 files changed

+41
-20
lines changed

2 files changed

+41
-20
lines changed

lisp/_prepare.el

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -582,12 +582,13 @@ Eask file in the workspace."
582582
(shmelpa . "https://shmelpa.commandlinesystems.com/packages/"))
583583
"Mapping of source name and url.")
584584

585-
(defvar eask-package nil)
586-
(defvar eask-package-file nil)
587-
(defvar eask-package-desc nil)
588-
(defvar eask-files nil)
589-
(defvar eask-depends-on nil)
590-
(defvar eask-depends-on-dev nil)
585+
(defvar eask-package nil)
586+
(defvar eask-package-file nil)
587+
(defvar eask-package-desc nil)
588+
(defvar eask-files nil)
589+
(defvar eask-depends-on-emacs nil)
590+
(defvar eask-depends-on nil)
591+
(defvar eask-depends-on-dev nil)
591592

592593
(defun eask-package--get (key)
593594
"Return package info by KEY."
@@ -644,9 +645,11 @@ Eask file in the workspace."
644645
"Specify a dependency of this package."
645646
(cond
646647
((string= pkg "emacs")
647-
(let ((minimum-version (car args)))
648-
(when (version< emacs-version minimum-version)
649-
(eask-error "This requires Emacs %s and above!" minimum-version)))
648+
(let* ((minimum-version (car args))
649+
(recipe (list pkg minimum-version)))
650+
(if (version< emacs-version minimum-version)
651+
(eask-error "This requires Emacs %s and above!" minimum-version)
652+
(push recipe eask-depends-on-emacs)))
650653
pkg)
651654
;; No argument specify
652655
((<= (length args) 1)

lisp/core/pkg-file.el

Lines changed: 29 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,35 @@
1414
(file-name-directory (nth 1 (member "-scriptload" command-line-args))))
1515
nil t)
1616

17+
(defvar eask--pkg-filename)
18+
19+
(defun eask--generate-from-pkg-desc ()
20+
"Generate pkg-file from a package-descriptor."
21+
(let* ((name (package-desc-name eask-package-desc))
22+
(pkg-file (expand-file-name (format "%s-pkg.el" name))))
23+
(setq eask--pkg-filename pkg-file)
24+
(package-generate-description-file eask-package-desc pkg-file)))
25+
26+
(defun eask--generate-from-eask-file ()
27+
"Generate pkg-file from Eask file."
28+
(let* ((name (eask-guess-package-name))
29+
(pkg-file (expand-file-name (concat name "-pkg.el")))
30+
(version (eask-package-version))
31+
(description (eask-package-description))
32+
(reqs (mapcar (lambda (elm)
33+
(list (if (stringp (car elm)) (intern (car elm)) (car elm))
34+
(if (= (length (cdr elm)) 1)
35+
(nth 0 (cdr elm))
36+
"latest")))
37+
(append eask-depends-on-emacs eask-depends-on))))
38+
(setq eask--pkg-filename pkg-file)
39+
(write-region
40+
(pp-to-string `(define-package ,name ,version ,description ',reqs))
41+
nil pkg-file)))
42+
1743
(eask-start
18-
(let ((pkg-file (expand-file-name (concat name "-pkg.el"))))
19-
(if eask-package-desc
20-
(package-generate-description-file eask-package-desc pkg-file))
21-
(let* ((name (eask-guess-package-name))
22-
(version (eask-package-version))
23-
(description (eask-package-description))
24-
(reqs (package-desc-reqs eask-package-desc)))
25-
(write-region
26-
(pp-to-string `(define-package ,name ,version ,description ',reqs))
27-
nil pkg-file)))
28-
(eask-info "(Generated pkg-file -> %s)" pkg-file))
44+
(if eask-package-desc (eask--generate-from-pkg-desc)
45+
(eask--generate-from-eask-file))
46+
(eask-info "(Generated pkg-file -> %s)" eask--pkg-filename))
2947

3048
;;; pkg-file.el ends here

0 commit comments

Comments
 (0)