progfolio / elpaca

An elisp package manager
GNU General Public License v3.0
634 stars 31 forks source link

[Support]: Installing hyperbole #162

Closed matogoro closed 1 year ago

matogoro commented 1 year ago

Elpaca Version

Elpaca 0afd824 HEAD -> master, origin/master, origin/HEAD installer: 0.5 emacs-version: GNU Emacs 28.2 (build 2, x86_64_unknown-linux-gnu, X toolkit, cairo version 1.16.0 of 2023-04-18 git --version: git version 2.41.0

Operating System

Void Linux (64-bit), daemonized Emacs (emacsclient)

Description

I've recently migrated from straight.el to elpaca, and unfortunately this broke my hyperbole installation. I originally had hyperbole installed using the guide provided by the manual here---I've largely tried to reproduce this in elpaca but I keep getting the following error when my config tries to load the package (specifically on loading hypb-ert.el):

Eager macro-expansion failure: (void-variable hyperbole-run-test)

The same error occurs if I proceed to open Emacs and try to run hyperbole-mode. What I've done so far:

  1. Have elpaca clone hyperbole from the source repo ("https://git.savannah.gnu.org/git/hyperbole.git")

  2. Manually symlink the /kotl, /man, and /test folders from the /elpaca/repos/hyperbole directory to the /elpaca/builds/hyperbole directory (this fixed a bunch of other errors)

For reference, I call hyperbole via a use-package declaration in my init file as follows:

;; Elpaca preamble/bootstrap above

(elpaca elpaca-use-package
  (elpaca-use-package-mode)
  (setq elpaca-use-package-by-default t))
(elpaca-wait)

(use-package hyperbole
  :config
  (setq hbmap:dir-user (expand-file-name "hyperbole" user-emacs-directory)
        hbmap:filename "custom-buttons.hypb"))

Has anyone here gotten this working? I've dug around in the source code and hyperbole-run-test doesn't seem to be mentioned much outside of a defal clause in hypb-ert.el itself. I'd greatly appreciate if anyone here has any insight!

progfolio commented 1 year ago

Thanks for taking the time to fill out a bug report.

Manually symlink the /kotl, /man, and /test folders from the /elpaca/repos/hyperbole directory to the /elpaca/builds/hyperbole directory (this fixed a bunch of other errors)

I've updated the default :files value for GNU/NonGNU ELPA recipes. You'll want to:

  1. M-x elpaca-update elpaca
  2. M-x elpaca-delete hyperbole (if installed)
  3. Delete the .emacs.d/elpaca/cache/ directory.
  4. Restart Emacs.

This should get you the latest version of Elpaca and re-cache the updated recipes. That takes care of the "kotl" and "test" directories being linked. You don't want the "man" directory linked over. Rather, you want all of its files linked to the top-level of the build directory. So, despite the new menu recipes, you'll want a recipe similar to the one in the following test:

Test Case ```emacs-lisp (elpaca-test :dir "elpaca.hyperbole" :init (elpaca (hyperbole :files (:defaults "kotl" "test" "man/*")) (hyperbole-mode)) ;; BELOW IS JUST FOR TESTING PURPOSES (elpaca-wait) (with-current-buffer (elpaca-info 'hyperbole) (print (buffer-substring-no-properties (point-min) (point-max))))) ```
Host Env
elpaca9af18ac HEAD -> master, origin/master, origin/HEAD
isntaller0.5
emacsGNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.38, cairo version 1.17.8) of 2023-07-07
gitgit version 2.41.0
Output ```emacs-lisp INFO Scraping files for loaddefs... INFO Scraping files for loaddefs...done GEN ../elpaca-autoloads.el Cloning into '/tmp/elpaca.hyperbole/elpaca/repos/elpaca'... Your branch is up to date with 'origin/master'. Checking /tmp/elpaca.hyperbole/elpaca/repos/elpaca... Compiling /tmp/elpaca.hyperbole/elpaca/repos/elpaca/elpaca-info.el... Compiling /tmp/elpaca.hyperbole/elpaca/repos/elpaca/elpaca-log.el... Compiling /tmp/elpaca.hyperbole/elpaca/repos/elpaca/elpaca-manager.el... Compiling /tmp/elpaca.hyperbole/elpaca/repos/elpaca/elpaca-menu-elpa.el... Compiling /tmp/elpaca.hyperbole/elpaca/repos/elpaca/elpaca-menu-melpa.el... Compiling /tmp/elpaca.hyperbole/elpaca/repos/elpaca/elpaca-menu-org.el... Compiling /tmp/elpaca.hyperbole/elpaca/repos/elpaca/elpaca-process.el... Compiling /tmp/elpaca.hyperbole/elpaca/repos/elpaca/elpaca-test.el... Compiling /tmp/elpaca.hyperbole/elpaca/repos/elpaca/elpaca-ui.el... Compiling /tmp/elpaca.hyperbole/elpaca/repos/elpaca/elpaca.el... Checking /tmp/elpaca.hyperbole/elpaca/repos/elpaca/doc... Compiling /tmp/elpaca.hyperbole/elpaca/repos/elpaca/doc/early-init.el... Compiling /tmp/elpaca.hyperbole/elpaca/repos/elpaca/doc/init.el... Checking /tmp/elpaca.hyperbole/elpaca/repos/elpaca/extensions... Compiling /tmp/elpaca.hyperbole/elpaca/repos/elpaca/extensions/elpaca-use-package.el... Checking /tmp/elpaca.hyperbole/elpaca/repos/elpaca/images... Checking /tmp/elpaca.hyperbole/elpaca/repos/elpaca/test... Compiling /tmp/elpaca.hyperbole/elpaca/repos/elpaca/test/elpaca-test.el... Done (Total of 11 files compiled, 3 skipped in 4 directories) Downloading MELPA recipes... Downloading MELPA recipes...100% Downloading NonGNU-devel ELPA... Downloading GNU-devel ELPA... Downloading NonGNU ELPA... Downloading GNU ELPA... Loading /tmp/elpaca.hyperbole/elpaca/builds/hyperbole/kotl/kotl-autoloads.el (source)... Loading hypb-ert... Loading hib-social... Loading hsys-www... Loading hib-debbugs... Loading hib-kbd... Loading /tmp/elpaca.hyperbole/elpaca/builds/hyperbole/kotl/klink.el (source)... Initializing Hyperbole... Initializing Hyperbole...done "hyperbole GNU Hyperbole: The Everyday Hypertextual Information Manager source: GNU-devel ELPA url: https://elpa.gnu.org/packages/hyperbole.html menu item: ( :package \"hyperbole\" :repo \"https://git.savannah.gnu.org/r/hyperbole.git\" :local-repo \"hyperbole\" :files (:defaults \"*\" :exclude \".git\")) recipe: ( :package \"hyperbole\" :files (:defaults \"kotl\" \"test\" \"man/*\") :repo \"https://git.savannah.gnu.org/r/hyperbole.git\" :local-repo \"hyperbole\" :protocol https :inherit t :depth nil) dependencies: nil dependents: nil commit: 2e295f2 statuses: (finished activation info byte-compilation autoloads linking no-deps blocked ref-checked-out cloning queued) files: $REPOS/hyperbole/man/dir → $BUILDS/hyperbole/dir $REPOS/hyperbole/man/hkey-help.txt → $BUILDS/hyperbole/hkey-help.txt $REPOS/hyperbole/man/hyperbole.css → $BUILDS/hyperbole/hyperbole.css $REPOS/hyperbole/man/hyperbole.html → $BUILDS/hyperbole/hyperbole.html $REPOS/hyperbole/man/hyperbole.info → $BUILDS/hyperbole/hyperbole.info $REPOS/hyperbole/man/hyperbole.pdf → $BUILDS/hyperbole/hyperbole.pdf $REPOS/hyperbole/man/hyperbole.texi → $BUILDS/hyperbole/hyperbole.texi $REPOS/hyperbole/man/im → $BUILDS/hyperbole/im $REPOS/hyperbole/man/version.texi → $BUILDS/hyperbole/version.texi $REPOS/hyperbole/test → $BUILDS/hyperbole/test $REPOS/hyperbole/kotl → $BUILDS/hyperbole/kotl $REPOS/hyperbole/hact.el → $BUILDS/hyperbole/hact.el $REPOS/hyperbole/hactypes.el → $BUILDS/hyperbole/hactypes.el $REPOS/hyperbole/hargs.el → $BUILDS/hyperbole/hargs.el $REPOS/hyperbole/hbdata.el → $BUILDS/hyperbole/hbdata.el $REPOS/hyperbole/hbmap.el → $BUILDS/hyperbole/hbmap.el $REPOS/hyperbole/hbut.el → $BUILDS/hyperbole/hbut.el $REPOS/hyperbole/hgnus.el → $BUILDS/hyperbole/hgnus.el $REPOS/hyperbole/hhist.el → $BUILDS/hyperbole/hhist.el $REPOS/hyperbole/hib-debbugs.el → $BUILDS/hyperbole/hib-debbugs.el $REPOS/hyperbole/hib-doc-id.el → $BUILDS/hyperbole/hib-doc-id.el $REPOS/hyperbole/hib-kbd.el → $BUILDS/hyperbole/hib-kbd.el $REPOS/hyperbole/hib-social.el → $BUILDS/hyperbole/hib-social.el $REPOS/hyperbole/hibtypes.el → $BUILDS/hyperbole/hibtypes.el $REPOS/hyperbole/hinit.el → $BUILDS/hyperbole/hinit.el $REPOS/hyperbole/hload-path.el → $BUILDS/hyperbole/hload-path.el $REPOS/hyperbole/hmail.el → $BUILDS/hyperbole/hmail.el $REPOS/hyperbole/hmh.el → $BUILDS/hyperbole/hmh.el $REPOS/hyperbole/hmoccur.el → $BUILDS/hyperbole/hmoccur.el $REPOS/hyperbole/hmouse-drv.el → $BUILDS/hyperbole/hmouse-drv.el $REPOS/hyperbole/hmouse-info.el → $BUILDS/hyperbole/hmouse-info.el $REPOS/hyperbole/hmouse-key.el → $BUILDS/hyperbole/hmouse-key.el $REPOS/hyperbole/hmouse-mod.el → $BUILDS/hyperbole/hmouse-mod.el $REPOS/hyperbole/hmouse-sh.el → $BUILDS/hyperbole/hmouse-sh.el $REPOS/hyperbole/hmouse-tag.el → $BUILDS/hyperbole/hmouse-tag.el $REPOS/hyperbole/hpath.el → $BUILDS/hyperbole/hpath.el $REPOS/hyperbole/hrmail.el → $BUILDS/hyperbole/hrmail.el $REPOS/hyperbole/hsettings.el → $BUILDS/hyperbole/hsettings.el $REPOS/hyperbole/hsmail.el → $BUILDS/hyperbole/hsmail.el $REPOS/hyperbole/hsys-org-roam.el → $BUILDS/hyperbole/hsys-org-roam.el $REPOS/hyperbole/hsys-org.el → $BUILDS/hyperbole/hsys-org.el $REPOS/hyperbole/hsys-www.el → $BUILDS/hyperbole/hsys-www.el $REPOS/hyperbole/hsys-youtube.el → $BUILDS/hyperbole/hsys-youtube.el $REPOS/hyperbole/htz.el → $BUILDS/hyperbole/htz.el $REPOS/hyperbole/hui-dired-sidebar.el → $BUILDS/hyperbole/hui-dired-sidebar.el $REPOS/hyperbole/hui-em-but.el → $BUILDS/hyperbole/hui-em-but.el $REPOS/hyperbole/hui-jmenu.el → $BUILDS/hyperbole/hui-jmenu.el $REPOS/hyperbole/hui-menu.el → $BUILDS/hyperbole/hui-menu.el $REPOS/hyperbole/hui-mini.el → $BUILDS/hyperbole/hui-mini.el $REPOS/hyperbole/hui-mouse.el → $BUILDS/hyperbole/hui-mouse.el $REPOS/hyperbole/hui-register.el → $BUILDS/hyperbole/hui-register.el $REPOS/hyperbole/hui-select.el → $BUILDS/hyperbole/hui-select.el $REPOS/hyperbole/hui-treemacs.el → $BUILDS/hyperbole/hui-treemacs.el $REPOS/hyperbole/hui-window.el → $BUILDS/hyperbole/hui-window.el $REPOS/hyperbole/hui.el → $BUILDS/hyperbole/hui.el $REPOS/hyperbole/hvar.el → $BUILDS/hyperbole/hvar.el $REPOS/hyperbole/hversion.el → $BUILDS/hyperbole/hversion.el $REPOS/hyperbole/hvm.el → $BUILDS/hyperbole/hvm.el $REPOS/hyperbole/hycontrol.el → $BUILDS/hyperbole/hycontrol.el $REPOS/hyperbole/hypb-ert.el → $BUILDS/hyperbole/hypb-ert.el $REPOS/hyperbole/hypb-maintenance.el → $BUILDS/hyperbole/hypb-maintenance.el $REPOS/hyperbole/hypb.el → $BUILDS/hyperbole/hypb.el $REPOS/hyperbole/hyperbole.el → $BUILDS/hyperbole/hyperbole.el $REPOS/hyperbole/hyrolo-demo.el → $BUILDS/hyperbole/hyrolo-demo.el $REPOS/hyperbole/hyrolo-logic.el → $BUILDS/hyperbole/hyrolo-logic.el $REPOS/hyperbole/hyrolo-menu.el → $BUILDS/hyperbole/hyrolo-menu.el $REPOS/hyperbole/hyrolo.el → $BUILDS/hyperbole/hyrolo.el $REPOS/hyperbole/hywconfig.el → $BUILDS/hyperbole/hywconfig.el $REPOS/hyperbole/set.el → $BUILDS/hyperbole/set.el" Test Env Elpaca 9af18ac HEAD -> master, origin/master, origin/HEAD installer: 0.5 emacs-version: GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.38, cairo version 1.17.8) of 2023-07-07 git --version: git version 2.41.0 ```

That should install the Info manual correctly. I'm able to load hyperbole mode without errors on my end, too.

progfolio commented 1 year ago

Looks like the above still misses some files for hyperbole's demos, etc. The recipe in the following test case should be better:

Test Case ```emacs-lisp (elpaca-test :dir "elpaca.hyperbole" :early-init (setq elpaca-menu-functions '(elpaca-menu-gnu-devel-elpa)) :init (elpaca (hyperbole :files ("*" "man/*" (:exclude "man"))) (hyperbole-mode)) (elpaca-wait) (with-current-buffer (elpaca-info 'hyperbole) (print (buffer-substring-no-properties (point-min) (point-max))))) ```
Host Env
elpaca9af18ac HEAD -> master, origin/master, origin/HEAD
isntaller0.5
emacsGNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.38, cairo version 1.17.8) of 2023-07-07
gitgit version 2.41.0
Output ```emacs-lisp INFO Scraping files for loaddefs... INFO Scraping files for loaddefs...done GEN ../elpaca-autoloads.el Cloning into '/tmp/elpaca.hyperbole/elpaca/repos/elpaca'... Your branch is up to date with 'origin/master'. Checking /tmp/elpaca.hyperbole/elpaca/repos/elpaca... Compiling /tmp/elpaca.hyperbole/elpaca/repos/elpaca/elpaca-info.el... Compiling /tmp/elpaca.hyperbole/elpaca/repos/elpaca/elpaca-log.el... Compiling /tmp/elpaca.hyperbole/elpaca/repos/elpaca/elpaca-manager.el... Compiling /tmp/elpaca.hyperbole/elpaca/repos/elpaca/elpaca-menu-elpa.el... Compiling /tmp/elpaca.hyperbole/elpaca/repos/elpaca/elpaca-menu-melpa.el... Compiling /tmp/elpaca.hyperbole/elpaca/repos/elpaca/elpaca-menu-org.el... Compiling /tmp/elpaca.hyperbole/elpaca/repos/elpaca/elpaca-process.el... Compiling /tmp/elpaca.hyperbole/elpaca/repos/elpaca/elpaca-test.el... Compiling /tmp/elpaca.hyperbole/elpaca/repos/elpaca/elpaca-ui.el... Compiling /tmp/elpaca.hyperbole/elpaca/repos/elpaca/elpaca.el... Checking /tmp/elpaca.hyperbole/elpaca/repos/elpaca/doc... Compiling /tmp/elpaca.hyperbole/elpaca/repos/elpaca/doc/early-init.el... Compiling /tmp/elpaca.hyperbole/elpaca/repos/elpaca/doc/init.el... Checking /tmp/elpaca.hyperbole/elpaca/repos/elpaca/extensions... Compiling /tmp/elpaca.hyperbole/elpaca/repos/elpaca/extensions/elpaca-use-package.el... Checking /tmp/elpaca.hyperbole/elpaca/repos/elpaca/images... Checking /tmp/elpaca.hyperbole/elpaca/repos/elpaca/test... Compiling /tmp/elpaca.hyperbole/elpaca/repos/elpaca/test/elpaca-test.el... Done (Total of 11 files compiled, 3 skipped in 4 directories) Downloading GNU-devel ELPA... Loading /tmp/elpaca.hyperbole/elpaca/builds/hyperbole/kotl/kotl-autoloads.el (source)... Loading hypb-ert... Loading hib-social... Loading hsys-www... Loading hib-debbugs... Loading hib-kbd... Loading /tmp/elpaca.hyperbole/elpaca/builds/hyperbole/kotl/klink.el (source)... Initializing Hyperbole... Initializing Hyperbole...done "hyperbole GNU Hyperbole: The Everyday Hypertextual Information Manager source: GNU-devel ELPA url: https://elpa.gnu.org/packages/hyperbole.html menu item: ( :package \"hyperbole\" :repo \"https://git.savannah.gnu.org/r/hyperbole.git\" :local-repo \"hyperbole\" :files (:defaults \"*\" :exclude \".git\")) recipe: ( :package \"hyperbole\" :files (:defaults \"*\" \"man/*\" (:exclude \"man\")) :repo \"https://git.savannah.gnu.org/r/hyperbole.git\" :local-repo \"hyperbole\" :protocol https :inherit t :depth nil) dependencies: nil dependents: nil commit: 2e295f2 statuses: (finished activation info byte-compilation autoloads linking no-deps blocked ref-checked-out cloning queued) files: $REPOS/hyperbole/man/dir → $BUILDS/hyperbole/dir $REPOS/hyperbole/man/hkey-help.txt → $BUILDS/hyperbole/hkey-help.txt $REPOS/hyperbole/man/hyperbole.css → $BUILDS/hyperbole/hyperbole.css $REPOS/hyperbole/man/hyperbole.html → $BUILDS/hyperbole/hyperbole.html $REPOS/hyperbole/man/hyperbole.info → $BUILDS/hyperbole/hyperbole.info $REPOS/hyperbole/man/hyperbole.pdf → $BUILDS/hyperbole/hyperbole.pdf $REPOS/hyperbole/man/hyperbole.texi → $BUILDS/hyperbole/hyperbole.texi $REPOS/hyperbole/man/im → $BUILDS/hyperbole/im $REPOS/hyperbole/man/version.texi → $BUILDS/hyperbole/version.texi $REPOS/hyperbole/.git → $BUILDS/hyperbole/.git $REPOS/hyperbole/.github → $BUILDS/hyperbole/.github $REPOS/hyperbole/.gitignore → $BUILDS/hyperbole/.gitignore $REPOS/hyperbole/.hypb → $BUILDS/hyperbole/.hypb $REPOS/hyperbole/COPYING → $BUILDS/hyperbole/COPYING $REPOS/hyperbole/ChangeLog → $BUILDS/hyperbole/ChangeLog $REPOS/hyperbole/DEMO → $BUILDS/hyperbole/DEMO $REPOS/hyperbole/DEMO-ROLO.otl → $BUILDS/hyperbole/DEMO-ROLO.otl $REPOS/hyperbole/FAST-DEMO → $BUILDS/hyperbole/FAST-DEMO $REPOS/hyperbole/HY-ABOUT → $BUILDS/hyperbole/HY-ABOUT $REPOS/hyperbole/HY-ANNOUNCE → $BUILDS/hyperbole/HY-ANNOUNCE $REPOS/hyperbole/HY-CONCEPTS.kotl → $BUILDS/hyperbole/HY-CONCEPTS.kotl $REPOS/hyperbole/HY-COPY → $BUILDS/hyperbole/HY-COPY $REPOS/hyperbole/HY-NEWS → $BUILDS/hyperbole/HY-NEWS $REPOS/hyperbole/HY-TALK → $BUILDS/hyperbole/HY-TALK $REPOS/hyperbole/HY-WHY.kotl → $BUILDS/hyperbole/HY-WHY.kotl $REPOS/hyperbole/INSTALL → $BUILDS/hyperbole/INSTALL $REPOS/hyperbole/MANIFEST → $BUILDS/hyperbole/MANIFEST $REPOS/hyperbole/Makefile → $BUILDS/hyperbole/Makefile $REPOS/hyperbole/README → $BUILDS/hyperbole/README $REPOS/hyperbole/README.md → $BUILDS/hyperbole/README.md $REPOS/hyperbole/TAGS → $BUILDS/hyperbole/TAGS $REPOS/hyperbole/_config.yml → $BUILDS/hyperbole/_config.yml $REPOS/hyperbole/_hypb → $BUILDS/hyperbole/_hypb $REPOS/hyperbole/hact.el → $BUILDS/hyperbole/hact.el $REPOS/hyperbole/hactypes.el → $BUILDS/hyperbole/hactypes.el $REPOS/hyperbole/hargs.el → $BUILDS/hyperbole/hargs.el $REPOS/hyperbole/hbdata.el → $BUILDS/hyperbole/hbdata.el $REPOS/hyperbole/hbmap.el → $BUILDS/hyperbole/hbmap.el $REPOS/hyperbole/hbut.el → $BUILDS/hyperbole/hbut.el $REPOS/hyperbole/hgnus.el → $BUILDS/hyperbole/hgnus.el $REPOS/hyperbole/hhist.el → $BUILDS/hyperbole/hhist.el $REPOS/hyperbole/hib-debbugs.el → $BUILDS/hyperbole/hib-debbugs.el $REPOS/hyperbole/hib-doc-id.el → $BUILDS/hyperbole/hib-doc-id.el $REPOS/hyperbole/hib-kbd.el → $BUILDS/hyperbole/hib-kbd.el $REPOS/hyperbole/hib-social.el → $BUILDS/hyperbole/hib-social.el $REPOS/hyperbole/hibtypes.el → $BUILDS/hyperbole/hibtypes.el $REPOS/hyperbole/hinit.el → $BUILDS/hyperbole/hinit.el $REPOS/hyperbole/hload-path.el → $BUILDS/hyperbole/hload-path.el $REPOS/hyperbole/hmail.el → $BUILDS/hyperbole/hmail.el $REPOS/hyperbole/hmh.el → $BUILDS/hyperbole/hmh.el $REPOS/hyperbole/hmoccur.el → $BUILDS/hyperbole/hmoccur.el $REPOS/hyperbole/hmouse-drv.el → $BUILDS/hyperbole/hmouse-drv.el $REPOS/hyperbole/hmouse-info.el → $BUILDS/hyperbole/hmouse-info.el $REPOS/hyperbole/hmouse-key.el → $BUILDS/hyperbole/hmouse-key.el $REPOS/hyperbole/hmouse-mod.el → $BUILDS/hyperbole/hmouse-mod.el $REPOS/hyperbole/hmouse-sh.el → $BUILDS/hyperbole/hmouse-sh.el $REPOS/hyperbole/hmouse-tag.el → $BUILDS/hyperbole/hmouse-tag.el $REPOS/hyperbole/hpath.el → $BUILDS/hyperbole/hpath.el $REPOS/hyperbole/hrmail.el → $BUILDS/hyperbole/hrmail.el $REPOS/hyperbole/hsettings.el → $BUILDS/hyperbole/hsettings.el $REPOS/hyperbole/hsmail.el → $BUILDS/hyperbole/hsmail.el $REPOS/hyperbole/hsys-org-roam.el → $BUILDS/hyperbole/hsys-org-roam.el $REPOS/hyperbole/hsys-org.el → $BUILDS/hyperbole/hsys-org.el $REPOS/hyperbole/hsys-www.el → $BUILDS/hyperbole/hsys-www.el $REPOS/hyperbole/hsys-youtube.el → $BUILDS/hyperbole/hsys-youtube.el $REPOS/hyperbole/htz.el → $BUILDS/hyperbole/htz.el $REPOS/hyperbole/hui-dired-sidebar.el → $BUILDS/hyperbole/hui-dired-sidebar.el $REPOS/hyperbole/hui-em-but.el → $BUILDS/hyperbole/hui-em-but.el $REPOS/hyperbole/hui-jmenu.el → $BUILDS/hyperbole/hui-jmenu.el $REPOS/hyperbole/hui-menu.el → $BUILDS/hyperbole/hui-menu.el $REPOS/hyperbole/hui-mini.el → $BUILDS/hyperbole/hui-mini.el $REPOS/hyperbole/hui-mouse.el → $BUILDS/hyperbole/hui-mouse.el $REPOS/hyperbole/hui-register.el → $BUILDS/hyperbole/hui-register.el $REPOS/hyperbole/hui-select.el → $BUILDS/hyperbole/hui-select.el $REPOS/hyperbole/hui-treemacs.el → $BUILDS/hyperbole/hui-treemacs.el $REPOS/hyperbole/hui-window.el → $BUILDS/hyperbole/hui-window.el $REPOS/hyperbole/hui.el → $BUILDS/hyperbole/hui.el $REPOS/hyperbole/hvar.el → $BUILDS/hyperbole/hvar.el $REPOS/hyperbole/hversion.el → $BUILDS/hyperbole/hversion.el $REPOS/hyperbole/hvm.el → $BUILDS/hyperbole/hvm.el $REPOS/hyperbole/hycontrol.el → $BUILDS/hyperbole/hycontrol.el $REPOS/hyperbole/hypb-ert.el → $BUILDS/hyperbole/hypb-ert.el $REPOS/hyperbole/hypb-maintenance.el → $BUILDS/hyperbole/hypb-maintenance.el $REPOS/hyperbole/hypb.el → $BUILDS/hyperbole/hypb.el $REPOS/hyperbole/hyperbole-banner.png → $BUILDS/hyperbole/hyperbole-banner.png $REPOS/hyperbole/hyperbole.el → $BUILDS/hyperbole/hyperbole.el $REPOS/hyperbole/hyrolo-demo.el → $BUILDS/hyperbole/hyrolo-demo.el $REPOS/hyperbole/hyrolo-logic.el → $BUILDS/hyperbole/hyrolo-logic.el $REPOS/hyperbole/hyrolo-menu.el → $BUILDS/hyperbole/hyrolo-menu.el $REPOS/hyperbole/hyrolo.el → $BUILDS/hyperbole/hyrolo.el $REPOS/hyperbole/hywconfig.el → $BUILDS/hyperbole/hywconfig.el $REPOS/hyperbole/install-test → $BUILDS/hyperbole/install-test $REPOS/hyperbole/kotl → $BUILDS/hyperbole/kotl $REPOS/hyperbole/set.el → $BUILDS/hyperbole/set.el $REPOS/hyperbole/smart-clib-sym → $BUILDS/hyperbole/smart-clib-sym $REPOS/hyperbole/test → $BUILDS/hyperbole/test $REPOS/hyperbole/topwin.py → $BUILDS/hyperbole/topwin.py" Test Env Elpaca 9af18ac HEAD -> master, origin/master, origin/HEAD installer: 0.5 emacs-version: GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.38, cairo version 1.17.8) of 2023-07-07 git --version: git version 2.41.0 ```

Or with elpaca-use-package-mode enabled:

(use-package hyperbole :elpaca (:files ("*" "man/*" (:exclude "man"))))
progfolio commented 1 year ago

I'll consider this issue closed for now. If you have any issues when using that last recipe, let me know and we can reopen. Thanks.

matogoro commented 1 year ago

Hi, sorry---I didn't have time to test this out until now. Updating elpaca, deleting the old hyperbole package, and trying to reinstall using the use-package declaration you provide gives me the following error in the elpaca-log buffer:

Info: fatal: dumb http transport does not support shallow capabilities

Is there some other setting I need to tweak? Or something on the hyperbole Git server end? Or maybe I just need to be more patient? Thanks!

progfolio commented 1 year ago

Hi, sorry---I didn't have time to test this out until now.

Not a problem.

Updating elpaca, deleting the old hyperbole package, and trying to reinstall using the use-package declaration you provide gives me the following error in the elpaca-log buffer:

Can you please share:

Info: fatal: dumb http transport does not support shallow capabilities

Is there some other setting I need to tweak? Or something on the hyperbole Git server end? Or maybe I just need to be more patient? Thanks!

The repo should've automatically attempted to reclone in that case. I'll look into it once I have the above info.

progfolio commented 1 year ago

Actually, I see what the issue was. I've fixed it. Try updating again. Should work fine now.

matogoro commented 1 year ago

I'm unfortunately still getting the same error. I've verified that I'm on 01f7556 (via elpaca-version).

What I've tried:

Checking the elpaca logs, I get (relevant to hyperbole):

hyperbole    cloning    Cloning    00.571996
[...]
hyperbole    cloning    Cloning into '/home/user/path/to/elpaca/folder'...    00.680220
hyperbole    cloning    fatal: dumb http transport does not support shallow capabilities    00.900514

I figure that there was a built-in fallback in elpaca to a full clone, but it doesn't seem to be kicking in for some reason. Please let me know if you need more info from my end!

progfolio commented 1 year ago

Could you try evaluating the following test case in your *scratch* buffer? It will install Elpaca in a temp test environment and attempt to install hyperbole. When it finishes running, a buffer should pop up showing the results, which can be copied here.

(elpaca-test
  :early-init
  (setq elpaca-menu-functions '(elpaca-menu-gnu-devel-elpa))
  :init
  (setq debug-on-error nil)
  (defun +report ()
    (with-current-buffer (elpaca-log ".*")
      (print (buffer-substring-no-properties (point-min) (point-max)))))
  (elpaca (hyperbole :files ("*" "man/*" (:exclude "man"))))
  (with-timeout (30 (+report)) (elpaca-wait))
  (+report))
matogoro commented 1 year ago

Sure! Here it is:

Test Case ```emacs-lisp (elpaca-test :early-init (setq elpaca-menu-functions '(elpaca-menu-gnu-devel-elpa)) :init (setq debug-on-error nil) (defun +report nil (with-current-buffer (elpaca-log ".*") (print (buffer-substring-no-properties (point-min) (point-max))))) (elpaca (hyperbole :files ("*" "man/*" (:exclude "man")))) (with-timeout (30 (+report)) (elpaca-wait)) (+report)) ```
Host Env
elpaca01f7556 HEAD -> master, origin/master, origin/HEAD
isntaller0.5
emacsGNU Emacs 28.2 (build 2, x86_64-unknown-linux-gnu, X toolkit, cairo version 1.16.0) of 2023-04-18
gitgit version 2.41.0
Output ```emacs-lisp INFO Scraping files for elpaca-autoloads.el... INFO Scraping files for elpaca-autoloads.el...done Cloning into '/tmp/elpaca.zgNyUu/elpaca/repos/elpaca'... Your branch is up to date with 'origin/master'. Checking /tmp/elpaca.zgNyUu/elpaca/repos/elpaca... Compiling /tmp/elpaca.zgNyUu/elpaca/repos/elpaca/elpaca-info.el... Compiling /tmp/elpaca.zgNyUu/elpaca/repos/elpaca/elpaca-log.el... Compiling /tmp/elpaca.zgNyUu/elpaca/repos/elpaca/elpaca-manager.el... Compiling /tmp/elpaca.zgNyUu/elpaca/repos/elpaca/elpaca-menu-elpa.el... Compiling /tmp/elpaca.zgNyUu/elpaca/repos/elpaca/elpaca-menu-melpa.el... Compiling /tmp/elpaca.zgNyUu/elpaca/repos/elpaca/elpaca-menu-org.el... Compiling /tmp/elpaca.zgNyUu/elpaca/repos/elpaca/elpaca-process.el... Compiling /tmp/elpaca.zgNyUu/elpaca/repos/elpaca/elpaca-test.el... Compiling /tmp/elpaca.zgNyUu/elpaca/repos/elpaca/elpaca-ui.el... Compiling /tmp/elpaca.zgNyUu/elpaca/repos/elpaca/elpaca.el... In elpaca--clone-process-sentinel: elpaca.el:1269:14: Warning: ‘not’ called with 2 args, but requires 1 elpaca.el:1269:19: Warning: plist-get called with 1 argument, but requires 2 Checking /tmp/elpaca.zgNyUu/elpaca/repos/elpaca/doc... Compiling /tmp/elpaca.zgNyUu/elpaca/repos/elpaca/doc/early-init.el... Compiling /tmp/elpaca.zgNyUu/elpaca/repos/elpaca/doc/init.el... Checking /tmp/elpaca.zgNyUu/elpaca/repos/elpaca/extensions... Compiling /tmp/elpaca.zgNyUu/elpaca/repos/elpaca/extensions/elpaca-use-package.el... In toplevel form: extensions/elpaca-use-package.el:28:1: Error: Cannot open load file: No such file or directory, use-package Checking /tmp/elpaca.zgNyUu/elpaca/repos/elpaca/images... Checking /tmp/elpaca.zgNyUu/elpaca/repos/elpaca/test... Compiling /tmp/elpaca.zgNyUu/elpaca/repos/elpaca/test/elpaca-test.el... Done (Total of 10 files compiled, 1 failed, 3 skipped in 4 directories) Downloading GNU-devel ELPA... Debugger entered--Lisp error: (wrong-number-of-arguments # 1) plist-get((:package "hyperbole" :repo "https://git.savannah.gnu.org/r/hyperbole.git" :local-repo "hyperbole" :files ("*" "man/*" (:exclude "man")) :protocol https :inherit t :depth 1)) elpaca--clone-process-sentinel(# "exited abnormally with code 128\n") sit-for(0.01) elpaca-wait() (progn (elpaca-wait)) (unwind-protect (progn (elpaca-wait)) (cancel-timer -with-timeout-timer-)) (let* ((-with-timeout-timer- (run-with-timer 30 nil #'(lambda nil (throw 'timeout 'timeout)))) (with-timeout-timers (cons -with-timeout-timer- with-timeout-timers))) (unwind-protect (progn (elpaca-wait)) (cancel-timer -with-timeout-timer-))) (catch 'timeout (let* ((-with-timeout-timer- (run-with-timer 30 nil #'(lambda nil (throw ... ...)))) (with-timeout-timers (cons -with-timeout-timer- with-timeout-timers))) (unwind-protect (progn (elpaca-wait)) (cancel-timer -with-timeout-timer-)))) (let ((-with-timeout-value- (catch 'timeout (let* ((-with-timeout-timer- (run-with-timer 30 nil ...)) (with-timeout-timers (cons -with-timeout-timer- with-timeout-timers))) (unwind-protect (progn (elpaca-wait)) (cancel-timer -with-timeout-timer-)))))) (if (eq -with-timeout-value- 'timeout) (progn (+report)) -with-timeout-value-)) load-with-code-conversion("/tmp/elpaca.zgNyUu/init.el" "/tmp/elpaca.zgNyUu/init.el" nil t) command-line-1(("--eval" "(setq debug-on-error t after-init-time nil)" "--eval" "(setq user-emacs-directory \"/tmp/elpaca.zgNyUu\")" "-l" "./early-init.el" "--eval" "(run-hooks 'before-init-hook)" "-l" "./init.el" "--eval" "(setq after-init-time (current-time))" "--eval" "(run-hooks 'after-init-hook)" "--eval" "(run-hooks 'emacs-startup-hook)" "--eval" "(message \"\n Test Env\n\")" "--eval" "(elpaca-version 'message)")) command-line() normal-top-level() ```
progfolio commented 1 year ago

Thank you! I've pushed a fix which should do the trick. I force pushed, so you'll just want to:

  1. M-x elpaca-delete elpaca-use-package then elpaca then hyperbole
  2. Restart emacs

Let me know if that works for you.

matogoro commented 1 year ago

Brilliant---it works! Thank you so much for the fast and awesome support. I really appreciate it!

progfolio commented 1 year ago

Glad to hear it works now. Sorry about the hiccups and thanks again for testing.