Install/compile packages in order of declaration
This should fix an issue where a package A, which uses macros from a package B, is installed before package B, causing void-function errors. The currently known and affected packages are neotree, parinfer, and evil-collection.
This commit is contained in:
parent
271e7689ae
commit
377dbae3fc
3 changed files with 11 additions and 11 deletions
|
@ -214,14 +214,12 @@ files."
|
||||||
objects, in the order of their `package! blocks.'"
|
objects, in the order of their `package! blocks.'"
|
||||||
(doom-initialize-packages)
|
(doom-initialize-packages)
|
||||||
(cl-remove-duplicates
|
(cl-remove-duplicates
|
||||||
(let (packages)
|
(cl-loop for name in (append doom-core-packages (mapcar #'car doom-packages))
|
||||||
(dolist (name (append (mapcar #'car doom-packages) doom-core-packages))
|
if (assq name package-alist)
|
||||||
(when-let* ((desc (cadr (assq name package-alist))))
|
nconc (cl-loop for dep in (package--get-deps name)
|
||||||
(push (cons name desc) packages)
|
|
||||||
(cl-loop for dep in (package--get-deps name)
|
|
||||||
if (assq dep package-alist)
|
if (assq dep package-alist)
|
||||||
do (push (cons dep (cadr it)) packages))))
|
collect (cons dep (cadr it)))
|
||||||
packages)
|
and collect (cons name (cadr it)))
|
||||||
:key #'car
|
:key #'car
|
||||||
:from-end t))
|
:from-end t))
|
||||||
|
|
||||||
|
@ -332,7 +330,8 @@ Used by `doom-packages-install'."
|
||||||
(cl-loop for (name . plist)
|
(cl-loop for (name . plist)
|
||||||
in (doom-get-packages :ignored (if include-ignored-p 'any)
|
in (doom-get-packages :ignored (if include-ignored-p 'any)
|
||||||
:disabled nil
|
:disabled nil
|
||||||
:deps t)
|
:deps t
|
||||||
|
:sort nil)
|
||||||
if (and (or (plist-get plist :pin)
|
if (and (or (plist-get plist :pin)
|
||||||
(not (package-built-in-p name)))
|
(not (package-built-in-p name)))
|
||||||
(or (not (doom-package-installed-p name))
|
(or (not (doom-package-installed-p name))
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
(defun doom-packages-install (&optional auto-accept-p)
|
(defun doom-packages-install (&optional auto-accept-p)
|
||||||
"Interactive command for installing missing packages."
|
"Interactive command for installing missing packages."
|
||||||
(print! "Looking for packages to install...")
|
(print! "Looking for packages to install...")
|
||||||
(let ((packages (reverse (doom-get-missing-packages))))
|
(let ((packages (doom-get-missing-packages)))
|
||||||
(cond ((not packages)
|
(cond ((not packages)
|
||||||
(print! (green "No packages to install!"))
|
(print! (green "No packages to install!"))
|
||||||
nil)
|
nil)
|
||||||
|
|
|
@ -131,7 +131,8 @@ them."
|
||||||
(cl-loop for key being the hash-keys of doom-modules
|
(cl-loop for key being the hash-keys of doom-modules
|
||||||
for path = (doom-module-path (car key) (cdr key) "packages.el")
|
for path = (doom-module-path (car key) (cdr key) "packages.el")
|
||||||
do (let ((doom--current-module key)) (_load path t)))
|
do (let ((doom--current-module key)) (_load path t)))
|
||||||
(_load private-packages t))))))))
|
(_load private-packages t)
|
||||||
|
(setq doom-packages (reverse doom-packages)))))))))
|
||||||
|
|
||||||
|
|
||||||
;;
|
;;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue