Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

nrepl-eval-sexp-fu fails to install #11

Closed
steckerhalter opened this issue Feb 16, 2014 · 11 comments
Closed

nrepl-eval-sexp-fu fails to install #11

steckerhalter opened this issue Feb 16, 2014 · 11 comments
Labels

Comments

@steckerhalter
Copy link
Member

recipe:

(quelpa '(nrepl-eval-sexp-fu :fetcher github :repo samaaron/nrepl-eval-sexp-fu))

it fails at this function:

(defun quelpa-get-package-desc (file)
  "Extract and return the PACKAGE-DESC struct from FILE.
On error return nil."
  (with-demoted-errors "Error getting PACKAGE-DESC: %s"
    (with-temp-buffer
      (insert-file-contents-literally file)
      (pcase (quelpa-package-type file)
        (`single (package-buffer-info)) ; <--------------- fails here, returns nil
        (`tar (tar-mode)
              (with-no-warnings (package-tar-file-info)))))))

I checked and the buffer is inserted correctly. Seems like an issue with package-buffer-info

@wasamasa
Copy link
Contributor

See this comment. Let's hope that missing closing paren is the entire reason, although I still have no idea how MELPA works with it then.

@krisajenkins
Copy link

Doh! Fixed (and double-checked) here: samaaron/nrepl-eval-sexp-fu#9

@wasamasa
Copy link
Contributor

Did a quick test and it works now. Thanks.

@steckerhalter
Copy link
Member Author

Debugger entered--Lisp error: (error "Package `thingatpt-0.0.0' is unavailable")
  signal(error ("Package `thingatpt-0.0.0' is unavailable"))
  error("Package `%s-%s' is unavailable" thingatpt "0.0.0")
  package-compute-transaction(nil ((highlight (0 0 0)) (smartparens (0 0 0)) (thingatpt (0 0 0))))
  package-install-from-buffer()
  package-install-file("/home/stk/.emacs.d/quelpa/packages/nrepl-eval-sexp-fu-20140311.1141.el")
  quelpa-package-install((nrepl-eval-sexp-fu :fetcher github :repo "samaaron/nrepl-eval-sexp-fu"))
  quelpa((nrepl-eval-sexp-fu :fetcher github :repo "samaaron/nrepl-eval-sexp-fu"))

still doesn't work for me...

;; Package-Requires: ((highlight "0.0.0") (smartparens "0.0.0") (thingatpt "0.0.0"))

thingatpt is an internal lib and package.el cannot figure that out. maybe that's a problem in Emacs trunk only?

@steckerhalter steckerhalter reopened this Mar 12, 2014
@wasamasa
Copy link
Contributor

Seems to be the case as installing with a clean 24.3 works.

@wasamasa
Copy link
Contributor

OK, so apparently once MELPA switches over to 24.4 for building packages, they will encounter the same issue with packages that have internal libraries as dependencies. That's because `package-compute-transaction' checks installed packages first, then available packages, then errors out if the requested dependency isn't available.

So, we can either fix/report all packages with this error or ask upstream to silently ignore those. I'm afraid it will be the former. Please cross-check whether that's the case, then I'll hand in another bug report for the package in question.

@steckerhalter
Copy link
Member Author

That's because `package-compute-transaction' checks installed packages first, then available packages, then errors out if the requested dependency isn't available.

so you mean that it doesn't check for internal libs?

what's the difference to 24.3?

@wasamasa
Copy link
Contributor

So, in both package-compute-transactionuses package-built-in-p. The difference is that under 24.3 (package-built-in-p 'thingatpt) returns t, in 24.4 it returns nil. This might be a bug worth mentioning on the emacs-devel mailing list.

@steckerhalter
Copy link
Member Author

the problem is the version:

(package-built-in-p 'thingatpt '(0 0 0)) ; emacs 24.4
nil
(package-built-in-p 'thingatpt '(0 0 0)) ; emacs 24.3
t

@steckerhalter
Copy link
Member Author

@wasamasa
Copy link
Contributor

Good, we'll wait then until it's added to trunk, maybe even confirmed to stay that way.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants