diff options
Diffstat (limited to 'lisp/use-package/use-package-ensure-system-package.el')
-rw-r--r-- | lisp/use-package/use-package-ensure-system-package.el | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/lisp/use-package/use-package-ensure-system-package.el b/lisp/use-package/use-package-ensure-system-package.el index 87abf407020..7c591af7d9b 100644 --- a/lisp/use-package/use-package-ensure-system-package.el +++ b/lisp/use-package/use-package-ensure-system-package.el @@ -25,6 +25,8 @@ (eval-when-compile (declare-function system-packages-get-command "system-packages")) +(defvar use-package-ensure-system-package--custom-packages '() + "List of custom packages installed.") (defun use-package-ensure-system-package-consify (arg) "Turn `arg' into a cons of (`package-name' . `install-command')." @@ -38,15 +40,22 @@ ((not (cdr arg)) (use-package-ensure-system-package-consify (car arg))) ((stringp (cdr arg)) - (cons (car arg) `(async-shell-command ,(cdr arg)))) + (progn + (push (cdr arg) use-package-ensure-system-package--custom-packages) + (cons (car arg) `(async-shell-command ,(cdr arg))))) (t (cons (car arg) `(system-packages-install ,(symbol-name (cdr arg))))))))) +(defun use-package-ensure-system-package-update-custom-packages () + (interactive) + (dolist (cmd use-package-ensure-system-package--custom-packages) + (async-shell-command cmd))) + ;;;###autoload (defun use-package-normalize/:ensure-system-package (_name-symbol keyword args) "Turn `arg' into a list of cons-es of (`package-name' . `install-command')." - (use-package-only-one (symbol-name keyword) args + (use-package-as-one (symbol-name keyword) args (lambda (_label arg) (cond ((and (listp arg) (listp (cdr arg))) |