Closed meritamen closed 4 weeks ago
Can you get a backtrace for this? I feel like there must be some underlying issue, and since this package doesn't have a :toggle
apparently almost every user is seeing Spacemacs install this package just fine.
(recipe :fetcher local)
is used in a bunch of places and should work (and make local packages behave more uniformly with other packages), so I feel like if there is a more general issue we should not attempt to work around this for this specific package.
Could you please copy the full backtrace as text instead? I don't see the actual error message at the top of the stack in your screenshot.
Debugger entered--Lisp error: (wrong-type-argument arrayp nil)
tar--describe-as-link(nil)
tar--check-descriptor(nil)
tar-get-file-descriptor("._vim-powerline-20240822.130129/_vim-powerline-pkg.el")
package-tar-file-info()
(with-no-warnings (package-tar-file-info))
(let nil (insert-file-contents-literally file) (tar-mode) (with-no-warnings (package-tar-file-info)))
(cond ((eq kind 'single) (let nil (insert-file-contents file) (package-buffer-info))) ((eq kind 'tar) (let nil (insert-file-contents-literally file) (tar-mode) (with-no-warnings (package-tar-file-info)))))
(progn (cond ((eq kind 'single) (let nil (insert-file-contents file) (package-buffer-info))) ((eq kind 'tar) (let nil (insert-file-contents-literally file) (tar-mode) (with-no-warnings (package-tar-file-info))))))
(unwind-protect (progn (cond ((eq kind 'single) (let nil (insert-file-contents file) (package-buffer-info))) ((eq kind 'tar) (let nil (insert-file-contents-literally file) (tar-mode) (with-no-warnings (package-tar-file-info)))))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))
(save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (cond ((eq kind 'single) (let nil (insert-file-contents file) (package-buffer-info))) ((eq kind 'tar) (let nil (insert-file-contents-literally file) (tar-mode) (with-no-warnings (package-tar-file-info)))))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))
(let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (cond ((eq kind 'single) (let nil (insert-file-contents file) (package-buffer-info))) ((eq kind 'tar) (let nil (insert-file-contents-literally file) (tar-mode) (with-no-warnings (package-tar-file-info)))))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))))
(condition-case err (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (cond ((eq kind 'single) (let nil (insert-file-contents file) (package-buffer-info))) ((eq kind 'tar) (let nil (insert-file-contents-literally file) (tar-mode) (with-no-warnings (package-tar-file-info)))))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) ((debug error) (message "Error getting PACKAGE-DESC: %s" err) nil))
(let* ((kind (quelpa-package-type file)) (desc (condition-case err (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (cond ((eq kind 'single) (let nil (insert-file-contents file) (package-buffer-info))) ((eq kind 'tar) (let nil (insert-file-contents-literally file) (tar-mode) (with-no-warnings (package-tar-file-info)))))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) ((debug error) (message "Error getting PACKAGE-DESC: %s" err) nil)))) (if (progn (and (memq (type-of desc) cl-struct-package-desc-tags) t)) (progn desc)))
quelpa-get-package-desc("/Users/merita/.emacs.d/quelpa/packages/vim-powerline-20240822.130129.tar")
(let* ((pkg-desc (quelpa-get-package-desc file)) (requires (progn (or (progn (and (memq (type-of pkg-desc) cl-struct-package-desc-tags) t)) (signal 'wrong-type-argument (list 'package-desc pkg-desc))) (aref pkg-desc 4))) (ver (progn (or (progn (and (memq (type-of pkg-desc) cl-struct-package-desc-tags) t)) (signal 'wrong-type-argument (list 'package-desc pkg-desc))) (aref pkg-desc 2)))) (if requires (progn (mapc #'(lambda (req) (if (or (equal 'emacs (car req)) (quelpa--package-installed-p (car req) (car (cdr req)))) nil (quelpa-package-install (car req)))) requires))) (quelpa-package-install-file file) ver)
(progn (let* ((pkg-desc (quelpa-get-package-desc file)) (requires (progn (or (progn (and (memq (type-of pkg-desc) cl-struct-package-desc-tags) t)) (signal 'wrong-type-argument (list 'package-desc pkg-desc))) (aref pkg-desc 4))) (ver (progn (or (progn (and (memq (type-of pkg-desc) cl-struct-package-desc-tags) t)) (signal 'wrong-type-argument (list 'package-desc pkg-desc))) (aref pkg-desc 2)))) (if requires (progn (mapc #'(lambda (req) (if (or (equal 'emacs (car req)) (quelpa--package-installed-p (car req) (car (cdr req)))) nil (quelpa-package-install (car req)))) requires))) (quelpa-package-install-file file) ver))
(if file (progn (let* ((pkg-desc (quelpa-get-package-desc file)) (requires (progn (or (progn (and (memq (type-of pkg-desc) cl-struct-package-desc-tags) t)) (signal 'wrong-type-argument (list 'package-desc pkg-desc))) (aref pkg-desc 4))) (ver (progn (or (progn (and (memq (type-of pkg-desc) cl-struct-package-desc-tags) t)) (signal 'wrong-type-argument (list 'package-desc pkg-desc))) (aref pkg-desc 2)))) (if requires (progn (mapc #'(lambda (req) (if (or (equal 'emacs (car req)) (quelpa--package-installed-p (car req) (car (cdr req)))) nil (quelpa-package-install (car req)))) requires))) (quelpa-package-install-file file) ver)))
(let* ((rcp (quelpa-arg-rcp arg)) (file (if rcp (progn (quelpa-build (append rcp plist)))))) (if file (progn (let* ((pkg-desc (quelpa-get-package-desc file)) (requires (progn (or (progn (and (memq (type-of pkg-desc) cl-struct-package-desc-tags) t)) (signal 'wrong-type-argument (list 'package-desc pkg-desc))) (aref pkg-desc 4))) (ver (progn (or (progn (and (memq (type-of pkg-desc) cl-struct-package-desc-tags) t)) (signal 'wrong-type-argument (list 'package-desc pkg-desc))) (aref pkg-desc 2)))) (if requires (progn (mapc #'(lambda (req) (if (or (equal 'emacs (car req)) (quelpa--package-installed-p (car req) (car (cdr req)))) nil (quelpa-package-install (car req)))) requires))) (quelpa-package-install-file file) ver))))
quelpa-package-install((vim-powerline :fetcher file :path "/Users/merita/.emacs.d/layers/+spacemacs/spacemacs-modeline/local/vim-powerline"))
apply(quelpa-package-install (vim-powerline :fetcher file :path "/Users/merita/.emacs.d/layers/+spacemacs/spacemacs-modeline/local/vim-powerline") nil)
(and t (apply #'quelpa-package-install arg plist))
(let* ((ver (and t (apply #'quelpa-package-install arg plist)))) (if ver (progn (if quelpa-autoremove-p (progn (quelpa--delete-obsoleted-package (car cache-item) ver))) (quelpa-update-cache cache-item)) nil))
(let* ((arg (or arg (let ((quelpa-melpa-recipe-stores (append quelpa-melpa-recipe-stores (list quelpa-cache)))) (quelpa-interactive-candidate)))) (quelpa-upgrade-p (if current-prefix-arg t quelpa-upgrade-p)) (quelpa-stable-p quelpa-stable-p) (quelpa-autoremove-p (if current-prefix-arg t quelpa-autoremove-p)) (cache-item (quelpa-arg-rcp arg))) (quelpa-parse-plist plist) (quelpa-parse-stable cache-item) (let* ((ver (and t (apply #'quelpa-package-install arg plist)))) (if ver (progn (if quelpa-autoremove-p (progn (quelpa--delete-obsoleted-package (car cache-item) ver))) (quelpa-update-cache cache-item)) nil)))
(progn (let* ((arg (or arg (let ((quelpa-melpa-recipe-stores (append quelpa-melpa-recipe-stores (list quelpa-cache)))) (quelpa-interactive-candidate)))) (quelpa-upgrade-p (if current-prefix-arg t quelpa-upgrade-p)) (quelpa-stable-p quelpa-stable-p) (quelpa-autoremove-p (if current-prefix-arg t quelpa-autoremove-p)) (cache-item (quelpa-arg-rcp arg))) (quelpa-parse-plist plist) (quelpa-parse-stable cache-item) (let* ((ver (and t (apply #'quelpa-package-install arg plist)))) (if ver (progn (if quelpa-autoremove-p (progn (quelpa--delete-obsoleted-package (car cache-item) ver))) (quelpa-update-cache cache-item)) nil))))
(if (quelpa-setup-p) (progn (let* ((arg (or arg (let ((quelpa-melpa-recipe-stores (append quelpa-melpa-recipe-stores (list quelpa-cache)))) (quelpa-interactive-candidate)))) (quelpa-upgrade-p (if current-prefix-arg t quelpa-upgrade-p)) (quelpa-stable-p quelpa-stable-p) (quelpa-autoremove-p (if current-prefix-arg t quelpa-autoremove-p)) (cache-item (quelpa-arg-rcp arg))) (quelpa-parse-plist plist) (quelpa-parse-stable cache-item) (let* ((ver (and t (apply #'quelpa-package-install arg plist)))) (if ver (progn (if quelpa-autoremove-p (progn (quelpa--delete-obsoleted-package (car cache-item) ver))) (quelpa-update-cache cache-item)) nil)))))
quelpa((vim-powerline :fetcher file :path "/Users/merita/.emacs.d/layers/+spacemacs/spacemacs-modeline/local/vim-powerline"))
(if recipe (quelpa (configuration-layer//make-quelpa-recipe pkg)) (configuration-layer//warning (concat "Cannot find any recipe for package %S! Be sure " "to add a recipe for it in alist %S.") pkg-name recipes-var))
(let* ((pkg-name (eieio-oref pkg ':name)) (layer (car (eieio-oref pkg ':owners))) (recipe (cons pkg-name (cdr (eieio-oref pkg ':location))))) (if recipe (quelpa (configuration-layer//make-quelpa-recipe pkg)) (configuration-layer//warning (concat "Cannot find any recipe for package %S! Be sure " "to add a recipe for it in alist %S.") pkg-name recipes-var)))
configuration-layer//install-from-recipe(#<cfgl-package cfgl-package-1ff0049a4e9c>)
(cond ((or (null pkg) (eq 'elpa location)) (configuration-layer//install-from-elpa pkg-name) (if pkg (progn (eieio-oset pkg ':lazy-install nil)))) ((and (listp location) (eq 'recipe (car location))) (configuration-layer//install-from-recipe pkg) (eieio-oset pkg ':lazy-install nil)) (t (configuration-layer//warning "Cannot install package %S." pkg-name)))
(condition-case err (cond ((or (null pkg) (eq 'elpa location)) (configuration-layer//install-from-elpa pkg-name) (if pkg (progn (eieio-oset pkg ':lazy-install nil)))) ((and (listp location) (eq 'recipe (car location))) (configuration-layer//install-from-recipe pkg) (eieio-oset pkg ':lazy-install nil)) (t (configuration-layer//warning "Cannot install package %S." pkg-name))) ((debug quote error) (configuration-layer//error (concat "\nAn error occurred while installing %s " "(error: %s)\n") pkg-name err) (spacemacs//redisplay)))
(if (package-installed-p pkg-name min-version) nil (condition-case err (cond ((or (null pkg) (eq 'elpa location)) (configuration-layer//install-from-elpa pkg-name) (if pkg (progn (eieio-oset pkg ':lazy-install nil)))) ((and (listp location) (eq 'recipe (car location))) (configuration-layer//install-from-recipe pkg) (eieio-oset pkg ':lazy-install nil)) (t (configuration-layer//warning "Cannot install package %S." pkg-name))) ((debug quote error) (configuration-layer//error (concat "\nAn error occurred while installing %s " "(error: %s)\n") pkg-name err) (spacemacs//redisplay))))
(let* ((layer (if pkg (progn (car (eieio-oref pkg ':owners))))) (location (if pkg (progn (eieio-oref pkg ':location)))) (min-version (if pkg (progn (eieio-oref pkg ':min-version))))) (spacemacs-buffer/replace-last-line (format "--> installing %s: %s%s... [%s/%s]" (if layer "package" "dependency") pkg-name (if layer (format "@%S" layer) "") installed-count not-inst-count) t) (spacemacs//redisplay) (if (package-installed-p pkg-name min-version) nil (condition-case err (cond ((or (null pkg) (eq 'elpa location)) (configuration-layer//install-from-elpa pkg-name) (if pkg (progn (eieio-oset pkg ':lazy-install nil)))) ((and (listp location) (eq 'recipe (car location))) (configuration-layer//install-from-recipe pkg) (eieio-oset pkg ':lazy-install nil)) (t (configuration-layer//warning "Cannot install package %S." pkg-name))) ((debug quote error) (configuration-layer//error (concat "\nAn error occurred while installing %s " "(error: %s)\n") pkg-name err) (spacemacs//redisplay)))))
configuration-layer//install-package(#<cfgl-package cfgl-package-1ff0049a4e9c> vim-powerline 1 1)
(if (and pkg (memq (eieio-oref pkg ':step) '(bootstrap pre))) nil (setq installed-count (1+ installed-count)) (configuration-layer//install-package pkg pkg-name installed-count not-inst-count))
(let ((pkg (configuration-layer/get-package pkg-name))) (if (and pkg (memq (eieio-oref pkg ':step) '(bootstrap pre))) nil (setq installed-count (1+ installed-count)) (configuration-layer//install-package pkg pkg-name installed-count not-inst-count)))
(let ((pkg-name (car tail))) (let ((pkg (configuration-layer/get-package pkg-name))) (if (and pkg (memq (eieio-oref pkg ':step) '(bootstrap pre))) nil (setq installed-count (1+ installed-count)) (configuration-layer//install-package pkg pkg-name installed-count not-inst-count))) (setq tail (cdr tail)))
(while tail (let ((pkg-name (car tail))) (let ((pkg (configuration-layer/get-package pkg-name))) (if (and pkg (memq (eieio-oref pkg ':step) '(bootstrap pre))) nil (setq installed-count (1+ installed-count)) (configuration-layer//install-package pkg pkg-name installed-count not-inst-count))) (setq tail (cdr tail))))
(let ((tail upkg-names)) (while tail (let ((pkg-name (car tail))) (let ((pkg (configuration-layer/get-package pkg-name))) (if (and pkg (memq (eieio-oref pkg ':step) '(bootstrap pre))) nil (setq installed-count (1+ installed-count)) (configuration-layer//install-package pkg pkg-name installed-count not-inst-count))) (setq tail (cdr tail)))))
(let ((delayed-warnings-backup delayed-warnings-list)) (spacemacs-buffer/append (format "Found %s new package(s) to install...\n" not-inst-count)) (configuration-layer/retrieve-package-archives) (setq installed-count 0) (spacemacs//redisplay) (let ((tail upkg-names)) (while tail (let ((pkg-name (car tail))) (let ((pkg (configuration-layer/get-package pkg-name))) (if (and pkg (memq (eieio-oref pkg ':step) '(bootstrap pre))) (progn (setq installed-count (1+ installed-count)) (configuration-layer//install-package pkg pkg-name installed-count not-inst-count)))) (setq tail (cdr tail))))) (let ((tail upkg-names)) (while tail (let ((pkg-name (car tail))) (let ((pkg (configuration-layer/get-package pkg-name))) (if (and pkg (memq (eieio-oref pkg ':step) '(bootstrap pre))) nil (setq installed-count (1+ installed-count)) (configuration-layer//install-package pkg pkg-name installed-count not-inst-count))) (setq tail (cdr tail))))) (spacemacs-buffer/append "\n") (if init-file-debug nil (setq delayed-warnings-list delayed-warnings-backup)))
(progn (spacemacs-buffer/set-mode-line "Installing packages..." t) (let ((delayed-warnings-backup delayed-warnings-list)) (spacemacs-buffer/append (format "Found %s new package(s) to install...\n" not-inst-count)) (configuration-layer/retrieve-package-archives) (setq installed-count 0) (spacemacs//redisplay) (let ((tail upkg-names)) (while tail (let ((pkg-name (car tail))) (let ((pkg (configuration-layer/get-package pkg-name))) (if (and pkg (memq (eieio-oref pkg ':step) '(bootstrap pre))) (progn (setq installed-count (1+ installed-count)) (configuration-layer//install-package pkg pkg-name installed-count not-inst-count)))) (setq tail (cdr tail))))) (let ((tail upkg-names)) (while tail (let ((pkg-name (car tail))) (let ((pkg (configuration-layer/get-package pkg-name))) (if (and pkg (memq (eieio-oref pkg ':step) '(bootstrap pre))) nil (setq installed-count (1+ installed-count)) (configuration-layer//install-package pkg pkg-name installed-count not-inst-count))) (setq tail (cdr tail))))) (spacemacs-buffer/append "\n") (if init-file-debug nil (setq delayed-warnings-list delayed-warnings-backup))))
(if upkg-names (progn (spacemacs-buffer/set-mode-line "Installing packages..." t) (let ((delayed-warnings-backup delayed-warnings-list)) (spacemacs-buffer/append (format "Found %s new package(s) to install...\n" not-inst-count)) (configuration-layer/retrieve-package-archives) (setq installed-count 0) (spacemacs//redisplay) (let ((tail upkg-names)) (while tail (let ((pkg-name (car tail))) (let ((pkg (configuration-layer/get-package pkg-name))) (if (and pkg (memq (eieio-oref pkg ':step) '(bootstrap pre))) (progn (setq installed-count (1+ installed-count)) (configuration-layer//install-package pkg pkg-name installed-count not-inst-count)))) (setq tail (cdr tail))))) (let ((tail upkg-names)) (while tail (let ((pkg-name (car tail))) (let ((pkg (configuration-layer/get-package pkg-name))) (if (and pkg (memq (eieio-oref pkg ':step) '(bootstrap pre))) nil (setq installed-count (1+ installed-count)) (configuration-layer//install-package pkg pkg-name installed-count not-inst-count))) (setq tail (cdr tail))))) (spacemacs-buffer/append "\n") (if init-file-debug nil (setq delayed-warnings-list delayed-warnings-backup)))))
(let* ((upkg-names (configuration-layer//get-to-install-packages packages)) (not-inst-count (length upkg-names)) installed-count) (if upkg-names (progn (spacemacs-buffer/set-mode-line "Installing packages..." t) (let ((delayed-warnings-backup delayed-warnings-list)) (spacemacs-buffer/append (format "Found %s new package(s) to install...\n" not-inst-count)) (configuration-layer/retrieve-package-archives) (setq installed-count 0) (spacemacs//redisplay) (let ((tail upkg-names)) (while tail (let ((pkg-name (car tail))) (let ((pkg (configuration-layer/get-package pkg-name))) (if (and pkg (memq (eieio-oref pkg ':step) '(bootstrap pre))) (progn (setq installed-count (1+ installed-count)) (configuration-layer//install-package pkg pkg-name installed-count not-inst-count)))) (setq tail (cdr tail))))) (let ((tail upkg-names)) (while tail (let ((pkg-name (car tail))) (let ((pkg (configuration-layer/get-package pkg-name))) (if (and pkg (memq (eieio-oref pkg ':step) '(bootstrap pre))) nil (setq installed-count (1+ installed-count)) (configuration-layer//install-package pkg pkg-name installed-count not-inst-count))) (setq tail (cdr tail))))) (spacemacs-buffer/append "\n") (if init-file-debug nil (setq delayed-warnings-list delayed-warnings-backup))))))
(let ((display-buffer-alist '(("\\(\\*Compile-Log\\*\\)\\|\\(\\*Warnings\\*\\)" (display-buffer-in-side-window) (inhibit-same-window . t) (side . bottom) (window-height . 0.2))))) (configuration-layer//configure-quelpa) (let* ((upkg-names (configuration-layer//get-to-install-packages packages)) (not-inst-count (length upkg-names)) installed-count) (if upkg-names (progn (spacemacs-buffer/set-mode-line "Installing packages..." t) (let ((delayed-warnings-backup delayed-warnings-list)) (spacemacs-buffer/append (format "Found %s new package(s) to install...\n" not-inst-count)) (configuration-layer/retrieve-package-archives) (setq installed-count 0) (spacemacs//redisplay) (let ((tail upkg-names)) (while tail (let ((pkg-name (car tail))) (let ((pkg (configuration-layer/get-package pkg-name))) (if (and pkg (memq (eieio-oref pkg ':step) '(bootstrap pre))) (progn (setq installed-count (1+ installed-count)) (configuration-layer//install-package pkg pkg-name installed-count not-inst-count)))) (setq tail (cdr tail))))) (let ((tail upkg-names)) (while tail (let ((pkg-name (car tail))) (let ((pkg (configuration-layer/get-package pkg-name))) (if (and pkg (memq (eieio-oref pkg ':step) '(bootstrap pre))) nil (setq installed-count (1+ installed-count)) (configuration-layer//install-package pkg pkg-name installed-count not-inst-count))) (setq tail (cdr tail))))) (spacemacs-buffer/append "\n") (if init-file-debug nil (setq delayed-warnings-list delayed-warnings-backup)))))))
configuration-layer//install-packages((ace-jump-helm-line ace-link ace-window aggressive-indent all-the-icons async auto-compile auto-dictionary auto-highlight-symbol avy bind-key bind-map browse-at-remote centered-cursor-mode clean-aindent-mode cmm-mode column-enforce-mode dash desktop devdocs diff-hl diff-mode diminish dired-quick-sort dotenv-mode drag-stuff dumb-jump dune eat editorconfig elisp-def elisp-demos elisp-slime-nav emr erc erc-hl-nicks erc-image erc-social-graph erc-terminal-notifier erc-tweet erc-view-log erc-yt esh-help eshell-prompt-extras eshell-z eval-sexp-fu evil evil-anzu evil-args evil-cleverparens evil-collection evil-escape evil-evilified-state evil-exchange evil-goggles evil-iedit-state evil-indent-plus evil-lion evil-lisp-state evil-matchit evil-mc evil-nerd-commenter evil-numbers evil-org evil-surround evil-textobj-line evil-tutor evil-unimpaired evil-visual-mark-mode evil-visualstar expand-region eyebrowse fancy-battery flx-ido flycheck flycheck-elsa flycheck-haskell flycheck-ocaml flycheck-package flycheck-pos-tip flyspell flyspell-correct flyspell-correct-helm forge git-commit git-link git-messenger git-modes git-timemachine gitignore-templates gnuplot golden-ratio google-translate haskell-mode haskell-snippets helm helm-ag helm-comint helm-descbinds helm-git-grep helm-hoogle helm-ls-git helm-make helm-mode-manager helm-org helm-org-rifle helm-projectile helm-purpose helm-swoop helm-themes helm-xref hide-comnt highlight-indentation highlight-numbers highlight-parentheses hindent hl-todo hlint-refactor holy-mode htmlize hungry-delete hybrid-mode hydra indent-guide info+ inspector launchctl link-hint lorem-ipsum lsp-haskell macrostep magit magit-section magit-todos merlin merlin-company merlin-eldoc merlin-iedit multi-line multi-term multi-vterm nameless ob-sml ocamlformat ocp-indent open-junk-file org org-cliplink org-contrib org-download ...))
(let ((packages (append (configuration-layer//filter-distant-packages configuration-layer--used-packages t #'(lambda (pkg) (not (eieio-oref pkg ':lazy-install)))) (if (eq 'all dotspacemacs-install-packages) (progn (let (all-other-packages) (let ((tail (configuration-layer/get-layers-list))) (while tail (let ((layer (car tail))) (let ((configuration-layer--declared-layers-usedp nil) (configuration-layer--load-packages-files t)) (configuration-layer/declare-layer layer) (let* ((obj (configuration-layer/get-layer layer)) (pkgs (if obj (progn (eieio-oref obj ':packages))))) (configuration-layer/make-packages-from-layers (list layer)) (let ((tail pkgs)) (while tail (let ((pkg (car tail))) (let ((pkg-name (if (listp pkg) (car pkg) pkg))) (let* ((var pkg-name)) (if (memql var all-other-packages) (with-no-warnings all-other-packages) (setq all-other-packages (cons var all-other-packages))))) (setq tail (cdr tail))))))) (setq tail (cdr tail))))) (configuration-layer//filter-distant-packages all-other-packages nil))))))) (configuration-layer//install-packages packages) (if (and (or (eq 'used dotspacemacs-install-packages) (eq 'used-only dotspacemacs-install-packages)) (not configuration-layer-force-distribution) (not configuration-layer-exclude-all-layers)) (progn (configuration-layer/delete-orphan-packages packages))))
(progn (let ((packages (append (configuration-layer//filter-distant-packages configuration-layer--used-packages t #'(lambda (pkg) (not (eieio-oref pkg ':lazy-install)))) (if (eq 'all dotspacemacs-install-packages) (progn (let (all-other-packages) (let ((tail (configuration-layer/get-layers-list))) (while tail (let ((layer (car tail))) (let ((configuration-layer--declared-layers-usedp nil) (configuration-layer--load-packages-files t)) (configuration-layer/declare-layer layer) (let* ((obj (configuration-layer/get-layer layer)) (pkgs (if obj (progn (eieio-oref obj ':packages))))) (configuration-layer/make-packages-from-layers (list layer)) (let ((tail pkgs)) (while tail (let ((pkg (car tail))) (let ((pkg-name (if (listp pkg) (car pkg) pkg))) (let* ((var pkg-name)) (if (memql var all-other-packages) (with-no-warnings all-other-packages) (setq all-other-packages (cons var all-other-packages))))) (setq tail (cdr tail))))))) (setq tail (cdr tail))))) (configuration-layer//filter-distant-packages all-other-packages nil))))))) (configuration-layer//install-packages packages) (if (and (or (eq 'used dotspacemacs-install-packages) (eq 'used-only dotspacemacs-install-packages)) (not configuration-layer-force-distribution) (not configuration-layer-exclude-all-layers)) (progn (configuration-layer/delete-orphan-packages packages)))))
(if spacemacs-sync-packages (progn (let ((packages (append (configuration-layer//filter-distant-packages configuration-layer--used-packages t #'(lambda (pkg) (not (eieio-oref pkg ':lazy-install)))) (if (eq 'all dotspacemacs-install-packages) (progn (let (all-other-packages) (let ((tail (configuration-layer/get-layers-list))) (while tail (let ((layer (car tail))) (let ((configuration-layer--declared-layers-usedp nil) (configuration-layer--load-packages-files t)) (configuration-layer/declare-layer layer) (let* ((obj (configuration-layer/get-layer layer)) (pkgs (if obj (progn (eieio-oref obj ':packages))))) (configuration-layer/make-packages-from-layers (list layer)) (let ((tail pkgs)) (while tail (let ((pkg (car tail))) (let ((pkg-name (if (listp pkg) (car pkg) pkg))) (let* ((var pkg-name)) (if (memql var all-other-packages) (with-no-warnings all-other-packages) (setq all-other-packages (cons var all-other-packages))))) (setq tail (cdr tail))))))) (setq tail (cdr tail))))) (configuration-layer//filter-distant-packages all-other-packages nil))))))) (configuration-layer//install-packages packages) (if (and (or (eq 'used dotspacemacs-install-packages) (eq 'used-only dotspacemacs-install-packages)) (not configuration-layer-force-distribution) (not configuration-layer-exclude-all-layers)) (progn (configuration-layer/delete-orphan-packages packages))))))
configuration-layer//load()
(cond (changed-since-last-dump-p (configuration-layer//load) (if (spacemacs/emacs-with-pdumper-set-p) (progn (configuration-layer/message "Layer list has changed since last dump.") (configuration-layer//dump-emacs)))) (spacemacs-force-dump (configuration-layer//load) (if (spacemacs/emacs-with-pdumper-set-p) (progn (configuration-layer/message (concat "--force-dump passed on the command line or configuration has " "been reloaded, forcing a redump.")) (configuration-layer//dump-emacs)))) ((spacemacs-is-dumping-p) (configuration-layer//load)) ((and (spacemacs/emacs-with-pdumper-set-p) (spacemacs-run-from-dump-p)) (configuration-layer/message "Running from a dumped file. Skipping the loading process!")) (t (configuration-layer//load) (if (spacemacs/emacs-with-pdumper-set-p) (progn (configuration-layer/message (concat "Layer list has not changed since last time. " "Skipping dumping process!"))))))
(let (changed-since-last-dump-p) (if (file-exists-p configuration-layer--last-dotspacemacs-configuration-layers-file) (progn (configuration-layer/load-file configuration-layer--last-dotspacemacs-configuration-layers-file))) (let ((layers dotspacemacs-configuration-layers)) (progn (if "Calling dotfile layers..." (progn (spacemacs-buffer/message "Calling dotfile layers..."))) (if (fboundp 'dotspacemacs/layers) (progn (condition-case err (dotspacemacs/layers) ((debug error) (configuration-layer//increment-error-count) (spacemacs-buffer/append (format "Error in %s: %s\n" '"dotspacemacs/layers" (error-message-string err)) t)))))) (setq dotspacemacs--configuration-layers-saved dotspacemacs-configuration-layers) (setq changed-since-last-dump-p (not (equal layers dotspacemacs-configuration-layers))) (spacemacs/dump-vars-to-file '(dotspacemacs-configuration-layers) configuration-layer--last-dotspacemacs-configuration-layers-file)) (cond (changed-since-last-dump-p (configuration-layer//load) (if (spacemacs/emacs-with-pdumper-set-p) (progn (configuration-layer/message "Layer list has changed since last dump.") (configuration-layer//dump-emacs)))) (spacemacs-force-dump (configuration-layer//load) (if (spacemacs/emacs-with-pdumper-set-p) (progn (configuration-layer/message (concat "--force-dump passed on the command line or configuration has " "been reloaded, forcing a redump.")) (configuration-layer//dump-emacs)))) ((spacemacs-is-dumping-p) (configuration-layer//load)) ((and (spacemacs/emacs-with-pdumper-set-p) (spacemacs-run-from-dump-p)) (configuration-layer/message "Running from a dumped file. Skipping the loading process!")) (t (configuration-layer//load) (if (spacemacs/emacs-with-pdumper-set-p) (progn (configuration-layer/message (concat "Layer list has not changed since last time. " "Skipping dumping process!")))))))
configuration-layer/load()
(let ((please-do-not-disable-file-name-handler-alist nil)) (require 'core-spacemacs) (spacemacs/dump-restore-load-path) (configuration-layer/load-lock-file) (spacemacs/init) (configuration-layer/stable-elpa-init) (configuration-layer/load) (spacemacs-buffer/display-startup-note) (spacemacs/setup-startup-hook) (spacemacs/dump-eval-delayed-functions) (if (and dotspacemacs-enable-server (not (spacemacs-is-dumping-p))) (progn (require 'server) (if dotspacemacs-server-socket-dir (progn (setq server-socket-dir dotspacemacs-server-socket-dir))) (if (server-running-p) nil (message "Starting a server...") (server-start)))))
(if (not (version<= spacemacs-emacs-min-version emacs-version)) (error (concat "Your version of Emacs (%s) is too old. " "Spacemacs requires Emacs version %s or above.") emacs-version spacemacs-emacs-min-version) (let ((please-do-not-disable-file-name-handler-alist nil)) (require 'core-spacemacs) (spacemacs/dump-restore-load-path) (configuration-layer/load-lock-file) (spacemacs/init) (configuration-layer/stable-elpa-init) (configuration-layer/load) (spacemacs-buffer/display-startup-note) (spacemacs/setup-startup-hook) (spacemacs/dump-eval-delayed-functions) (if (and dotspacemacs-enable-server (not (spacemacs-is-dumping-p))) (progn (require 'server) (if dotspacemacs-server-socket-dir (progn (setq server-socket-dir dotspacemacs-server-socket-dir))) (if (server-running-p) nil (message "Starting a server...") (server-start))))))
eval-buffer(#<buffer *load*> nil "/Users/merita/.emacs.d/init.el" nil t) ; Reading at buffer position 3366
load-with-code-conversion("/Users/merita/.emacs.d/init.el" "/Users/merita/.emacs.d/init.el" t t)
load("/Users/merita/.emacs.d/init" noerror nomessage)
startup--load-user-init-file(#f(compiled-function () #<bytecode 0x155ca4c0dc7195>) #f(compiled-function () #<bytecode -0x1f3c61addc0c4f35>) t)
command-line()
normal-top-level()
@bcc32 I tried setting dotspacemacs-mode-line-theme '(vim-powerline :separator wave :separator-scale 1.5)
then got the same error messgae "An error occurred while installing vim-powerline (error: (wrong-type-argument package-desc nil))" and my modeline became utterly empty, as expected. It seems that invoking quelpa-get-package-desc("/Users/merita/.emacs.d/quelpa/packages/vim-powerline-20240822.130129.tar")
doesn't work properly.
(defun quelpa-get-package-desc (file)
"Extract and return the PACKAGE-DESC struct from FILE.
On error return nil."
(let* ((kind (quelpa-package-type file))
(desc (with-demoted-errors "Error getting PACKAGE-DESC: %s"
(with-temp-buffer
(pcase kind
(`single (insert-file-contents file)
(package-buffer-info))
(`tar (insert-file-contents-literally file)
(tar-mode)
(with-no-warnings
(package-tar-file-info))))))))
(when (package-desc-p desc)
desc)))
quelpa-get-package-desc
tries to bind description from vim-powerline-20240822.130129.tar
to desc
but it gets nil
, kind
is tar
as there're multiple files. It should be that (package-tar-file-info)
doesn't get the package information correctly. Observe at the top of the backtrace that tar-get-file-descriptor("._vim-powerline-20240822.130129/_vim-powerline-pkg.el")
turns into tar--check-descriptor(nil)
. Following is the content of vim-powerline-pkg.el
inside the tar generated by quelpa
:
(define-package "vim-powerline" "20240822.124648" "No description available." 'nil)
;; Local Variables:
;; no-byte-compile: t
;; End:
There's no such file as vim-powerline.el
, not to mention its description, thus I guess the reason for error is that spacemacs doesn't provide the local file whose name is corresponding to package name, then I updated layers/+spacemacs/spacemacs-modeline/local/vim-powerline
via https://github.com/milkypostman/powerline as #14503 pointed(should it be synchronized with the upstream by bot?), and temporarily tweaked some configuration in layers/+spacemacs/spacemacs-modeline/packages.el
. It works. Also #15903, #16414 are having the same problem. I remember getting this error message before but I ignored it.
Did you try installing GNU tar as suggested in the other issue threads? You may specifically want to check the return value of (quelpa--tar-type)
in your Emacs, as mentioned in this comment.
I just installed GNU tar, and spacemacs no longer duplicates vim-powerline
installation, but vim-powerline
modeline looks a bit weird...
What do you find weird about it? That's basically how it looks for me, although I suppose the exact colors of the text depend on your color theme. The CJK character between "utf-8" and "Spacemacs buffer" is probably just a missing glyph in your font (you need a powerline font for full font support).
My theme is spacemacs-light. I feel like it's dark background color is a bit out of place compared to the modeline of spacemacs
modeline theme.
Description :octocat:
Spacemacs starts with error "An error occurred while installing vim-powerline (error: (wrong-type-argument package-desc nil))".
Reproduction guide :beetle:
Observed behaviour: :eyes: :broken_heart: An error occurred while installing vim-powerline (error: (wrong-type-argument package-desc nil))
Expected behaviour: :heart: :smile: Don't reinstall the local package
vim-powerline
System Info :computer:
OS: darwin
Emacs: 29.4
Spacemacs: 0.999.0
Spacemacs branch: develop (rev. a7ed59787)
Graphic display: t
Running in daemon: nil
Distribution: spacemacs
Editing style: emacs
Completion: helm
System configuration features: ACL DBUS GLIB GNUTLS JSON LCMS2 LIBXML2 MODULES NOTIFY KQUEUE NS PDUMPER PNG RSVG SQLITE3 THREADS TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM ZLIB
Backtrace :paw_prints: