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

[Bug/Support]: Elpaca cannot determine the repo of the package compile-angel #412

Open
2 of 3 tasks
TriAttack238 opened this issue Jan 23, 2025 · 8 comments
Open
2 of 3 tasks

Comments

@TriAttack238
Copy link

Confirmation

  • I have checked the documentation (README, Wiki, docstrings, etc)
  • I am checking these without reading them.
  • I have searched previous issues to see if my question is a duplicate.

Elpaca Version

Elpaca f83af38 HEAD -> master, origin/master, origin/HEAD
installer: 0.8
emacs-version: GNU Emacs 29.4 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.20, cairo version 1.16.0)
of 2024-06-23
git --version: git version 2.45.2

Operating System

Ubuntu 24.10

Description

I am trying to install the package compile-agnel. I have used the following decalartion right after installing elpaca-use-package on my init.el:

(use-package compile-angel
  :ensure t
  :demand t
  :custom
  (compile-angel-verbose nil)
  :config
  (compile-angel-on-load-mode)
  (add-hook 'emacs-lisp-mode-hook #'compile-angel-on-save-local-mode))

However, swhen trying to update I get this error:

compile-angel
Declared in Init file

source: Init file
full recipe:
( :package "compile-angel"
  ;; Inherited from elpaca-order-functions.
  :depth treeless
  :inherit t
  :protocol https)
dependencies:
nil
dependents: nil
statuses:
  (failed reclone fetching-remotes queued)
log:
  [2025-01-23 15:31:17] Unable to determine repo dir: (error "Cannot determine URL from recipe: (:source nil :protocol https :inherit t :depth treeless :package \"compile-angel\")")
  [2025-01-23 15:33:25] Updating
  [2025-01-23 15:33:26] Continued by: elpaca--process
  [2025-01-23 15:33:26] Fetching remotes
  [2025-01-23 15:33:26] $git fetch --all -v
  [2025-01-23 15:33:26] elpaca--fetch: (wrong-type-argument stringp nil)

Is there something wrong with my use-package?

@TriAttack238
Copy link
Author

Additionally, Elpaca also can not longer determine the location of denote, even after updating the installer to 0.9.

@TriAttack238
Copy link
Author

More worryingly, elpaca cannot find the dependency library compat.

compat
Declared in Init file

source: Init file
full recipe:
( :package "compat"
  ;; Inherited from elpaca-order-functions.
  :depth treeless
  :inherit t
  :protocol https)
dependencies:
nil
dependents: 
  embark
  magit
  magit-section
  marginalia
  with-editor
statuses:
  (failed reclone fetching-remotes queued)
log:
  [2025-01-23 15:54:40] Unable to determine repo dir: (error "Cannot determine URL from recipe: (:source nil :protocol https :inherit t :depth treeless :package \"compat\")")
  [2025-01-23 15:54:52] Updating
  [2025-01-23 15:54:52] Continued by: elpaca--process
  [2025-01-23 15:54:52] Fetching remotes
  [2025-01-23 15:54:52] $git fetch --all -v
  [2025-01-23 15:54:52] elpaca--fetch: (wrong-type-argument stringp nil)
  [2025-01-23 15:54:55] Updating
  [2025-01-23 15:54:55] Continued by: elpaca--process
  [2025-01-23 15:54:55] Fetching remotes
  [2025-01-23 15:54:55] $git fetch --all -v
  [2025-01-23 15:54:55] elpaca--fetch: (wrong-type-argument stringp nil)

@progfolio
Copy link
Owner

Confirmation

  • I have checked the documentation (README, Wiki, docstrings, etc)
  • I am checking these without reading them.
  • I have searched previous issues to see if my question is a duplicate.

Elpaca Version

Elpaca f83af38 HEAD -> master, origin/master, origin/HEAD installer: 0.8
emacs-version: GNU Emacs 29.4 (build 2, x86_64-pc-linux-gnu, GTK+ Version
3.24.20, cairo version 1.16.0) of 2024-06-23 git --version: git version 2.45.2

Operating System

Ubuntu 24.10

Description

I am trying to install the package compile-agnel. I have used the following decalartion right after installing elpaca-use-package on my init.el:

(use-package compile-angel
  :ensure t
  :demand t
  :custom
  (compile-angel-verbose nil)
  :config
  (compile-angel-on-load-mode)
  (add-hook 'emacs-lisp-mode-hook #'compile-angel-on-save-local-mode))

However, swhen trying to update I get this error:

Is there something wrong with my use-package?

Yes. Your declaration does not provide enough information for Elpaca to know where to download the repository from. This is most likely due to "compile-angel" not being in Elpaca's menus because it is not published on any ELPA. That's why the elpaca-info command says:

compile-angel
Declared in Init file

Pointing the recipe to the repo source should be enough. e.g.

> (use-package compile-angel
>   :ensure (:host github :repo "jamescherti/compile-angel.el"))

Please see the manual for more ways to modify a recipe.

Does that help?

@progfolio
Copy link
Owner

More worryingly, elpaca cannot find the dependency library compat.

For this, try elpaca-update-menus.
Your menu item cache is likely missing or out of date.

@TriAttack238
Copy link
Author

More worryingly, elpaca cannot find the dependency library compat.

For this, try elpaca-update-menus. Your menu item cache is likely missing or out of date.

This is actually the first thing I did, for MELPA, ELPA, and non-gnu ELPA. What menu does compat belong to?

@progfolio
Copy link
Owner

This is actually the first thing I did, for MELPA, ELPA, and non-gnu ELPA. What
menu does compat belong to?

GNU ELPA, which I had to recently make changes to due to an upstream outage.

source: Init file

This tells me that there is no compat recipe in your menus.
What does the following return when you evaluate it?:

(format "cache file?: %s\nin memory: %s"
  (file-exists-p (expand-file-name "gnu-elpa.eld" elpaca-cache-directory))
  (length (elpaca-menu-gnu-elpa 'index)))

@TriAttack238
Copy link
Author

Ok, I updated ELPA again and it works now.

Regarding using a modified ensure statement for compile-angel, here is what I got when trying to use this declaration:

(use-package compile-angel
  :ensure (:host github :repo "jamescherti/compile-angel.el")
  :demand t
  :custom
  (compile-angel-verbose nil)
  :config
  (compile-angel-on-load-mode)
  (add-hook 'emacs-lisp-mode-hook #'compile-angel-on-save-local-mode))

This is by debug-trace for trying to use that version.

Debugger entered--Lisp error: (void-function elpaca--expand-declaration)
  elpaca--expand-declaration(`(,@elpaca-order) nil)
  byte-code("\306\307\10\"\31\306\307\n\"\33\fA\35\11\36@\310\311\312\13!\203\34\0\13\202\35\0\11\"\210\312\11!\204\355\0\313\11\314\"\210\16A\315W\2035\0\316..." [elpaca-repos-directory repo elpaca-builds-directory build elpaca-order order expand-file-name "elpaca/" add-to-list load-path file-exists-p make-directory t 28 require subr-x (debug error) pop-to-buffer-same-window "*elpaca-bootstrap*" apply call-process "git" nil "clone" append plist-get :depth format "--depth=%d" "--no-single-branch" :repo 0 "checkout" :ref "--" "-Q" "-L" "." "--batch" "--eval" "(byte-recompile-directory \".\" 0 'force)" elpaca elpaca-generate-autoloads "elpaca" message "%s" buffer-string kill-buffer error warn ...] 13)
  load("/home/sean/.emacs.d/init" noerror nomessage)
  startup--load-user-init-file(#f(compiled-function () #<bytecode 0xb90747be1d36d85>) #f(compiled-function () #<bytecode -0x1f3c61addc0b8a75>) t)
  command-line()
  normal-top-level()

@progfolio
Copy link
Owner

progfolio commented Jan 26, 2025

Are you trying to compile your init file as well? If so, that is currently unsupported.

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

No branches or pull requests

2 participants