emacsorphanage/req-package

Lots of errors when trying to req-package a built-in

peterhoeg opened this issue · 6 comments

I'm getting lots of these for a number of built-in packages:

unable to install package eldoc : (error provider not found)

Latest (use|req)-package on 24.5.1. If a package is already on the load-path, shouldn't that be enough?

Hi, yes, we have this issue now. The point is we want to install newer versions of packages even if older one is already exist as built-in. That's why we can not just check package on load-path. We need to somehow detect, that package is built-in and just omit this messages. Anyway, your configuration still must work, mine also works too. You may just ignore this messages for some time. Until if find a solution.

I had a brief look at the providers code myself. How about extending the current elpa and el-get providers with another called "built-in" but with a lower priority? The installer would then be a dummy function that only returned 't ?

It might work, thank you for help, I will do it soon

Isn't this done now?

@aspiers this has small issue now. I'm not sure how to solve this. Any help are welcome.

(defun req-package-providers-install-elpa (package)
  "Install PACKAGE with elpa."
  (let ((INSTALLED (package-installed-p package))) ;; TODO check that it's not a built in one
    (if (not INSTALLED)
        (package-install package)
      INSTALLED)))

Could you use locate-library and perform some kind of test on the file path?