emacsorphanage / req-package

dependency management system on top of use-package
GNU General Public License v3.0
152 stars 14 forks source link

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

Closed peterhoeg closed 8 years ago

peterhoeg commented 9 years ago

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?

edvorg commented 9 years ago

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.

peterhoeg commented 9 years ago

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 ?

edvorg commented 9 years ago

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

aspiers commented 8 years ago

Isn't this done now?

edvorg commented 8 years ago

@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)))
aspiers commented 8 years ago

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