dimitri/el-get

pyenv-mode and pyenv-mode-auto from melpa no longer avaialble

Opened this issue · 5 comments

I believe I used to haveel-get install pyenv-mode and pyenv-mode-auto with this part if my init.el.
However, after cleaning out ~/.emacs.d and starting up emacs anew, expecting my init.el to use el-get to install everything, I get this error (emacs --debug-init):

Debugger entered--Lisp error: (error "El-get can not find a recipe for package \"pyenv-mode\"")
  signal(error ("El-get can not find a recipe for package \"pyenv-mode\""))
  error("El-get can not find a recipe for package \"%s\"" "pyenv-mode")
  el-get-read-recipe("pyenv-mode")
  el-get-package-def("pyenv-mode")
  el-get-dependencies-graph(pyenv-mode)
  mapcar(el-get-dependencies-graph (visual-fill-column auctex bash-completion ein magit magit-gitflow magit-popup markdown-mode openwith restclient flyspell python-mode flycheck pyenv-mode f pyenv-mode-auto))
  el-get-dependencies((visual-fill-column auctex bash-completion ein magit magit-gitflow magit-popup markdown-mode openwith restclient flyspell python-mode flycheck pyenv-mode f pyenv-mode-auto))
  el-get-init-and-install((visual-fill-column auctex bash-completion ein el-get magit magit-gitflow magit-popup markdown-mode openwith restclient flyspell python-mode flycheck pyenv-mode f pyenv-mode-auto))
  el-get(sync (visual-fill-column auctex bash-completion ein el-get magit magit-gitflow magit-popup markdown-mode openwith restclient flyspell python-mode flycheck pyenv-mode f pyenv-mode-auto))
  eval-buffer(#<buffer  *load*> nil "/home/egk/.emacs.d/init.el" nil t)  ; Reading at buffer position 1319
  load-with-code-conversion("/home/egk/.emacs.d/init.el" "/home/egk/.emacs.d/init.el" t t)
  load("/home/egk/.emacs.d/init" t t)
  #f(compiled-function () #<bytecode 0x1de679>)()
  command-line()
  normal-top-level()

Comparing my backup (.emacs.d.bak) to the new .emacs.d believe I see where el-get used to get the recipes and they seem to be missing in the new .emacs.d:

egk@egk-ThinkPad-T450s:~/git-reps/dotfiles/.emacs.d$ ll ~/.emacs.d.bak/el-get/el-get/recipes/elpa/*pyenv*
-rw-rw-r-- 1 egk users 212 Sep 24  2019 /home/egk/.emacs.d.bak/el-get/el-get/recipes/elpa/pyenv-mode-auto.rcp
-rw-rw-r-- 1 egk users 164 Sep 24  2019 /home/egk/.emacs.d.bak/el-get/el-get/recipes/elpa/pyenv-mode.rcp
egk@egk-ThinkPad-T450s:~/git-reps/dotfiles/.emacs.d$ ll ~/.emacs.d/el-get/el-get/recipes/elpa
ls: cannot access '/home/egk/.emacs.d/el-get/el-get/recipes/elpa': No such file or directory
egk@egk-ThinkPad-T450s:~/git-reps/dotfiles/.emacs.d$ find . -iname '*pyenv-mode*'
egk@egk-ThinkPad-T450s:~/git-reps/dotfiles/.emacs.d$ 

Can anyone help me understand why those two packages are not available and if/how I can fix that?

You can run M-x el-get-elpa-build-local-recipes to generate recipes from ELPA repos.

You can run M-x el-get-elpa-build-local-recipes to generate recipes from ELPA repos.

That indeed creates the .../recipes/elpa folder, with some of the files that is in my backup, but far from all, and not the two packages i miss :/

egk@egk-ThinkPad-T450s:~/git-reps/dotfiles/nixos$ ll ~/.emacs.d.bak/el-get/el-get/recipes/elpa | wc -l
4975
egk@egk-ThinkPad-T450s:~/git-reps/dotfiles/nixos$ ll ~/.emacs.d/el-get/el-get/recipes/elpa | wc -l
249
egk@egk-ThinkPad-T450s:~/git-reps/dotfiles/nixos$ grep -rl 'melpa'  ~/.emacs.d.bak/el-get/el-get/recipes/elpa | wc -l
4379
egk@egk-ThinkPad-T450s:~/git-reps/dotfiles/nixos$ grep -rl 'melpa'  ~/.emacs.d/el-get/el-get/recipes/elpa | wc -l
0

So 4379 recipes containing "melpa" are in my backup, and none are in the new (accounting for most, but not all, of the difference).

I think you might have to update package-archives before running el-get-elpa-build-local-recipes

I had a look at https://www.gnu.org/software/emacs/manual/html_node/elisp/Package-Archives.html and tried to add this;

(require 'package)
(add-to-list 'package-archives
             '("melpa-stable" . "https://stable.melpa.org/packages/") t)

and I was able to el-get-install pyenv-mode, but not pyenv-mode-auto (error: El-get can not find a recipe for package "pyenv-mode-auto". I commented it out of my packages list for now..).

Cleaning out my ~/.emacs.d and trying to have it reinstall everything it fails on first startup, missing pyenv-mode. Doing el-get-elpa-build-local-recipes and starting emacs again it successfully installs, including pyenv-mode.

It seems that I need to trigger (el-get-elpa-build-local-recipes), but it takes a bit of time, so I do not want to wait for it everytime emacs starts.

(Not done trying to fix this, but out of time for today..)

It seems that I need to trigger (el-get-elpa-build-local-recipes), but it takes a bit of time, so I do not want to wait for it everytime emacs starts.

You don't need to do it every time Emacs starts (unless you're deleting ~/.emacs.d/ every time Emacs starts).