Open deadcombo opened 5 months ago
What is the output of M-x elpaca-info
for those packages?
You may also be interested in something like the build step mentioned here:
f851f4c02d9dcc42b05b2acc004b641537456346
Hmm, maybe something like this is possible: https://github.blog/2020-01-17-bring-your-monorepo-down-to-size-with-sparse-checkout/#cloning-in-sparse-mode
flymake [GNU-devel ELPA|GNU ELPA]
A universal on-the-fly syntax checker
source: GNU ELPA
url: https://elpa.gnu.org/packages/flymake.html
menu item recipe:
( :package "flymake"
:repo "https://github.com/emacs-mirror/emacs"
:local-repo "flymake"
:branch "master"
:files ("lisp/progmodes/flymake.el"
(:exclude ".git")))
full recipe:
( :package "flymake"
;; Inherited from declaration.
:depth 1
:inherit t
:protocol https
:files ("lisp/progmodes/flymake.el"
(:exclude ".git"))
:branch "master"
:local-repo "flymake"
:repo "https://github.com/emacs-mirror/emacs")
dependencies:
emacs >= 26.1
eldoc >= 1.14.0
project >= 0.7.1
dependents:
flymake-guile
installed version: 1.3.7 90234ba
statuses:
(finished update-log fetching-remotes queued)
files:
$REPOS/flymake/lisp/progmodes/flymake.el → $BUILDS/flymake/flymake.el
log:
[2024-06-16 22:06:20] Package queued
[2024-06-16 22:06:20] Continued by: elpaca--process
[2024-06-16 22:06:20] Cloning
[2024-06-16 22:06:20] $git clone --depth 1 --single-branch --branch master https://github.com/emacs-mirror/emacs /home/willow/.emacs.d/elpaca/repos/flymake/
[2024-06-16 22:06:20] Cloning into '/home/willow/.emacs.d/elpaca/repos/flymake'...
[2024-06-16 22:06:21] remote: Enumerating objects: 5615, done.[K
[2024-06-16 22:06:21] remote: Counting objects: 100% (5615/5615), done.[K
[2024-06-16 22:06:26] remote: Compressing objects: 100% (5086/5086), done.[K
[2024-06-16 22:06:55] remote: Total 5615 (delta 626), reused 2256 (delta 323), pack-reused 0[K
[2024-06-16 22:06:55] Receiving objects: 100% (5615/5615), 49.57 MiB | 1.72 MiB/s, done.
[2024-06-16 22:06:55] Resolving deltas: 100% (626/626), done.
[2024-06-16 22:06:57] Updating files: 100% (5297/5297), done.
[2024-06-16 22:06:57] Continued by: elpaca--clone-process-sentinel
[2024-06-16 22:06:57] Continued by: elpaca--configure-remotes
[2024-06-16 22:06:57] Checking out master
[2024-06-16 22:06:57] $git -c advice.detachedHead=false switch -C master origin/master
[2024-06-16 22:06:57] Reset branch 'master'
[2024-06-16 22:06:57] branch 'master' set up to track 'origin/master'.
[2024-06-16 22:06:57] Your branch is up to date with 'origin/master'.
[2024-06-16 22:06:57] Continued by: #[128 "\302\301\303\300\"\"\207" [("master checked out" ref-checked-out) elpaca--process-sentinel apply append] 6 "
(fn &rest ARGS2)"]
[2024-06-16 22:06:57] master checked out
[2024-06-16 22:06:57] Continued by: elpaca--dispatch-build-commands
[2024-06-16 22:06:58] Continued by: elpaca--queue-dependencies
[2024-06-16 22:06:58] No external dependencies
[2024-06-16 22:06:58] Checking dependency versions
[2024-06-16 22:06:58] Continued by: elpaca--check-version
[2024-06-16 22:06:58] Linking build files
[2024-06-16 22:06:58] Continued by: elpaca--link-build-files
[2024-06-16 22:06:58] Build files linked
[2024-06-16 22:06:58] Generating autoloads: /home/willow/.emacs.d/elpaca/builds/flymake
[2024-06-16 22:06:58] $/usr/sbin/emacs -Q -L /home/willow/.emacs.d/elpaca/repos/elpaca/ -l /home/willow/.emacs.d/elpaca/repos/elpaca/elpaca.el --batch --eval (progn (setq gc-cons-percentage 1.0) (elpaca-generate-autoloads "flymake" "/home/willow/.emacs.d/elpaca/builds/flymake"))
[2024-06-16 22:06:58] INFO Scraping files for loaddefs...
[2024-06-16 22:06:58] INFO Scraping files for loaddefs...done
[2024-06-16 22:06:58] GEN flymake-autoloads.el
[2024-06-16 22:06:58] Continued by: #[128 "\302\301\303\300\"\"\207" [("Autoloads Generated" nil) elpaca--process-sentinel apply append] 6 "
(fn &rest ARGS2)"]
[2024-06-16 22:06:58] Autoloads Generated
[2024-06-16 22:06:58] Byte compiling
[2024-06-16 22:06:58] $/usr/sbin/emacs -q --batch --eval (let ((gc-cons-percentage 1.0) (native-comp-eln-load-path '("/home/willow/.emacs.d/eln-cache/" "/usr/lib/emacs/30.0.50/native-lisp/"))) (dolist (dir '("/home/willow/.emacs.d/elpaca/builds/flymake")) (let ((default-directory dir)) (add-to-list 'load-path dir) (normal-top-level-add-subdirs-to-load-path))) (byte-recompile-directory "/home/willow/.emacs.d/elpaca/builds/flymake" 0 'force))
[2024-06-16 22:06:58] Checking /home/willow/.emacs.d/elpaca/builds/flymake...
[2024-06-16 22:06:58] Compiling /home/willow/.emacs.d/elpaca/builds/flymake/flymake-autoloads.el...
[2024-06-16 22:06:58] Compiling /home/willow/.emacs.d/elpaca/builds/flymake/flymake.el...
[2024-06-16 22:06:59] Done (Total of 1 file compiled, 1 skipped)
[2024-06-16 22:06:59] Continued by: #[128 "\302\301\303\300\"\"\207" [("Byte compilation complete" nil) elpaca--process-sentinel apply append] 6 "
(fn &rest ARGS2)"]
[2024-06-16 22:06:59] Byte compilation complete
[2024-06-16 22:06:59] Compiling Info files
[2024-06-16 22:06:59] Continued by: elpaca--compile-info
[2024-06-16 22:06:59] Info source files not found
[2024-06-16 22:06:59] Continued by: elpaca--dispatch-build-commands
[2024-06-16 22:06:59] Activating package
[2024-06-16 22:06:59] Package build dir added to load-path
[2024-06-16 22:06:59] Caching autoloads
[2024-06-16 22:06:59] Autoloads cached
[2024-06-16 22:06:59] Continued by: elpaca--activate-package
[2024-06-16 22:06:59] ✓ 38.918 secs
[2024-06-17 00:02:12] Continued by: elpaca--process
[2024-06-17 00:02:12] Fetching remotes
[2024-06-17 00:02:12] $git fetch --all -v
[2024-06-17 00:02:16] POST git-upload-pack (416 bytes)
[2024-06-17 00:02:16] POST git-upload-pack (275 bytes)
[2024-06-17 00:02:17] From https://github.com/emacs-mirror/emacs
[2024-06-17 00:02:17] 90234ba..f18a915 master -> origin/master
[2024-06-17 00:02:17] Continued by: #[128 "\302\301\303\300\"\"\207" [("Remotes fetched" nil) elpaca--process-sentinel apply append] 6 "
(fn &rest ARGS2)"]
[2024-06-17 00:02:17] Remotes fetched
[2024-06-17 00:02:17] $git --no-pager log --reverse --since=2024-06-16 16:03:41 +0200 --pretty=%h %s (%ch) ..@{u}
[2024-06-17 00:02:17] c0eefeb ; Fix typos (Sun 22:38)
[2024-06-17 00:02:17] f18a915 ; Translate comment to English (Sun 22:38)
[2024-06-17 00:02:17] Continued by: #[128 "\302\301\303\300\"\"\207" [(nil nil) elpaca--process-sentinel apply append] 6 "
(fn &rest ARGS2)"]
[2024-06-17 00:02:17] ✓ 5.747 secs
gnus
Not available in menu functions
source: Init file
full recipe:
( :package "gnus"
;; Inherited from declaration.
:files ("lisp/gnus/*")
:repo "commercial-emacs/commercial-emacs"
:host github
;; Inherited from elpaca-order-functions.
:depth 1
:inherit t
:protocol https)
dependencies:
nil
dependents: nil
installed version: 5.14 04e2a133a41
statuses:
(finished update-log fetching-remotes queued)
files:
$REPOS/commercial-emacs/lisp/gnus/ChangeLog.1 → $BUILDS/gnus/ChangeLog.1
$REPOS/commercial-emacs/lisp/gnus/ChangeLog.2 → $BUILDS/gnus/ChangeLog.2
$REPOS/commercial-emacs/lisp/gnus/ChangeLog.3 → $BUILDS/gnus/ChangeLog.3
$REPOS/commercial-emacs/lisp/gnus/canlock.el → $BUILDS/gnus/canlock.el
$REPOS/commercial-emacs/lisp/gnus/deuglify.el → $BUILDS/gnus/deuglify.el
$REPOS/commercial-emacs/lisp/gnus/gmm-utils.el → $BUILDS/gnus/gmm-utils.el
$REPOS/commercial-emacs/lisp/gnus/gnus-agent.el → $BUILDS/gnus/gnus-agent.el
$REPOS/commercial-emacs/lisp/gnus/gnus-art.el → $BUILDS/gnus/gnus-art.el
$REPOS/commercial-emacs/lisp/gnus/gnus-async.el → $BUILDS/gnus/gnus-async.el
$REPOS/commercial-emacs/lisp/gnus/gnus-bcklg.el → $BUILDS/gnus/gnus-bcklg.el
$REPOS/commercial-emacs/lisp/gnus/gnus-bookmark.el → $BUILDS/gnus/gnus-bookmark.el
$REPOS/commercial-emacs/lisp/gnus/gnus-cache.el → $BUILDS/gnus/gnus-cache.el
$REPOS/commercial-emacs/lisp/gnus/gnus-cite.el → $BUILDS/gnus/gnus-cite.el
$REPOS/commercial-emacs/lisp/gnus/gnus-cloud.el → $BUILDS/gnus/gnus-cloud.el
$REPOS/commercial-emacs/lisp/gnus/gnus-cus.el → $BUILDS/gnus/gnus-cus.el
$REPOS/commercial-emacs/lisp/gnus/gnus-dbus.el → $BUILDS/gnus/gnus-dbus.el
$REPOS/commercial-emacs/lisp/gnus/gnus-delay.el → $BUILDS/gnus/gnus-delay.el
$REPOS/commercial-emacs/lisp/gnus/gnus-demon.el → $BUILDS/gnus/gnus-demon.el
$REPOS/commercial-emacs/lisp/gnus/gnus-diary.el → $BUILDS/gnus/gnus-diary.el
$REPOS/commercial-emacs/lisp/gnus/gnus-dired.el → $BUILDS/gnus/gnus-dired.el
$REPOS/commercial-emacs/lisp/gnus/gnus-draft.el → $BUILDS/gnus/gnus-draft.el
$REPOS/commercial-emacs/lisp/gnus/gnus-dup.el → $BUILDS/gnus/gnus-dup.el
$REPOS/commercial-emacs/lisp/gnus/gnus-eform.el → $BUILDS/gnus/gnus-eform.el
$REPOS/commercial-emacs/lisp/gnus/gnus-fun.el → $BUILDS/gnus/gnus-fun.el
$REPOS/commercial-emacs/lisp/gnus/gnus-gravatar.el → $BUILDS/gnus/gnus-gravatar.el
$REPOS/commercial-emacs/lisp/gnus/gnus-group.el → $BUILDS/gnus/gnus-group.el
$REPOS/commercial-emacs/lisp/gnus/gnus-html.el → $BUILDS/gnus/gnus-html.el
$REPOS/commercial-emacs/lisp/gnus/gnus-icalendar.el → $BUILDS/gnus/gnus-icalendar.el
$REPOS/commercial-emacs/lisp/gnus/gnus-int.el → $BUILDS/gnus/gnus-int.el
$REPOS/commercial-emacs/lisp/gnus/gnus-kill.el → $BUILDS/gnus/gnus-kill.el
$REPOS/commercial-emacs/lisp/gnus/gnus-logic.el → $BUILDS/gnus/gnus-logic.el
$REPOS/commercial-emacs/lisp/gnus/gnus-mh.el → $BUILDS/gnus/gnus-mh.el
$REPOS/commercial-emacs/lisp/gnus/gnus-ml.el → $BUILDS/gnus/gnus-ml.el
$REPOS/commercial-emacs/lisp/gnus/gnus-mlspl.el → $BUILDS/gnus/gnus-mlspl.el
$REPOS/commercial-emacs/lisp/gnus/gnus-msg.el → $BUILDS/gnus/gnus-msg.el
$REPOS/commercial-emacs/lisp/gnus/gnus-notifications.el → $BUILDS/gnus/gnus-notifications.el
$REPOS/commercial-emacs/lisp/gnus/gnus-picon.el → $BUILDS/gnus/gnus-picon.el
$REPOS/commercial-emacs/lisp/gnus/gnus-range.el → $BUILDS/gnus/gnus-range.el
$REPOS/commercial-emacs/lisp/gnus/gnus-registry.el → $BUILDS/gnus/gnus-registry.el
$REPOS/commercial-emacs/lisp/gnus/gnus-rfc1843.el → $BUILDS/gnus/gnus-rfc1843.el
$REPOS/commercial-emacs/lisp/gnus/gnus-rmail.el → $BUILDS/gnus/gnus-rmail.el
$REPOS/commercial-emacs/lisp/gnus/gnus-salt.el → $BUILDS/gnus/gnus-salt.el
$REPOS/commercial-emacs/lisp/gnus/gnus-score.el → $BUILDS/gnus/gnus-score.el
$REPOS/commercial-emacs/lisp/gnus/gnus-search.el → $BUILDS/gnus/gnus-search.el
$REPOS/commercial-emacs/lisp/gnus/gnus-sieve.el → $BUILDS/gnus/gnus-sieve.el
$REPOS/commercial-emacs/lisp/gnus/gnus-spec.el → $BUILDS/gnus/gnus-spec.el
$REPOS/commercial-emacs/lisp/gnus/gnus-srvr.el → $BUILDS/gnus/gnus-srvr.el
$REPOS/commercial-emacs/lisp/gnus/gnus-start.el → $BUILDS/gnus/gnus-start.el
$REPOS/commercial-emacs/lisp/gnus/gnus-sum.el → $BUILDS/gnus/gnus-sum.el
$REPOS/commercial-emacs/lisp/gnus/gnus-topic.el → $BUILDS/gnus/gnus-topic.el
$REPOS/commercial-emacs/lisp/gnus/gnus-undo.el → $BUILDS/gnus/gnus-undo.el
$REPOS/commercial-emacs/lisp/gnus/gnus-util.el → $BUILDS/gnus/gnus-util.el
$REPOS/commercial-emacs/lisp/gnus/gnus-uu.el → $BUILDS/gnus/gnus-uu.el
$REPOS/commercial-emacs/lisp/gnus/gnus-vm.el → $BUILDS/gnus/gnus-vm.el
$REPOS/commercial-emacs/lisp/gnus/gnus-win.el → $BUILDS/gnus/gnus-win.el
$REPOS/commercial-emacs/lisp/gnus/gnus.el → $BUILDS/gnus/gnus.el
$REPOS/commercial-emacs/lisp/gnus/gssapi.el → $BUILDS/gnus/gssapi.el
$REPOS/commercial-emacs/lisp/gnus/mail-source.el → $BUILDS/gnus/mail-source.el
$REPOS/commercial-emacs/lisp/gnus/message.el → $BUILDS/gnus/message.el
$REPOS/commercial-emacs/lisp/gnus/mm-archive.el → $BUILDS/gnus/mm-archive.el
$REPOS/commercial-emacs/lisp/gnus/mm-bodies.el → $BUILDS/gnus/mm-bodies.el
$REPOS/commercial-emacs/lisp/gnus/mm-decode.el → $BUILDS/gnus/mm-decode.el
$REPOS/commercial-emacs/lisp/gnus/mm-encode.el → $BUILDS/gnus/mm-encode.el
$REPOS/commercial-emacs/lisp/gnus/mm-extern.el → $BUILDS/gnus/mm-extern.el
$REPOS/commercial-emacs/lisp/gnus/mm-partial.el → $BUILDS/gnus/mm-partial.el
$REPOS/commercial-emacs/lisp/gnus/mm-url.el → $BUILDS/gnus/mm-url.el
$REPOS/commercial-emacs/lisp/gnus/mm-util.el → $BUILDS/gnus/mm-util.el
$REPOS/commercial-emacs/lisp/gnus/mm-uu.el → $BUILDS/gnus/mm-uu.el
$REPOS/commercial-emacs/lisp/gnus/mm-view.el → $BUILDS/gnus/mm-view.el
$REPOS/commercial-emacs/lisp/gnus/mml-sec.el → $BUILDS/gnus/mml-sec.el
$REPOS/commercial-emacs/lisp/gnus/mml-smime.el → $BUILDS/gnus/mml-smime.el
$REPOS/commercial-emacs/lisp/gnus/mml.el → $BUILDS/gnus/mml.el
$REPOS/commercial-emacs/lisp/gnus/mml1991.el → $BUILDS/gnus/mml1991.el
$REPOS/commercial-emacs/lisp/gnus/mml2015.el → $BUILDS/gnus/mml2015.el
$REPOS/commercial-emacs/lisp/gnus/nnagent.el → $BUILDS/gnus/nnagent.el
$REPOS/commercial-emacs/lisp/gnus/nnatom.el → $BUILDS/gnus/nnatom.el
$REPOS/commercial-emacs/lisp/gnus/nnbabyl.el → $BUILDS/gnus/nnbabyl.el
$REPOS/commercial-emacs/lisp/gnus/nndiary.el → $BUILDS/gnus/nndiary.el
$REPOS/commercial-emacs/lisp/gnus/nndir.el → $BUILDS/gnus/nndir.el
$REPOS/commercial-emacs/lisp/gnus/nndoc.el → $BUILDS/gnus/nndoc.el
$REPOS/commercial-emacs/lisp/gnus/nndraft.el → $BUILDS/gnus/nndraft.el
$REPOS/commercial-emacs/lisp/gnus/nneething.el → $BUILDS/gnus/nneething.el
$REPOS/commercial-emacs/lisp/gnus/nnfeed.el → $BUILDS/gnus/nnfeed.el
$REPOS/commercial-emacs/lisp/gnus/nnfolder.el → $BUILDS/gnus/nnfolder.el
$REPOS/commercial-emacs/lisp/gnus/nngateway.el → $BUILDS/gnus/nngateway.el
$REPOS/commercial-emacs/lisp/gnus/nnheader.el → $BUILDS/gnus/nnheader.el
$REPOS/commercial-emacs/lisp/gnus/nnimap.el → $BUILDS/gnus/nnimap.el
$REPOS/commercial-emacs/lisp/gnus/nnmail.el → $BUILDS/gnus/nnmail.el
$REPOS/commercial-emacs/lisp/gnus/nnmaildir.el → $BUILDS/gnus/nnmaildir.el
$REPOS/commercial-emacs/lisp/gnus/nnmairix.el → $BUILDS/gnus/nnmairix.el
$REPOS/commercial-emacs/lisp/gnus/nnmbox.el → $BUILDS/gnus/nnmbox.el
$REPOS/commercial-emacs/lisp/gnus/nnmh.el → $BUILDS/gnus/nnmh.el
$REPOS/commercial-emacs/lisp/gnus/nnml.el → $BUILDS/gnus/nnml.el
$REPOS/commercial-emacs/lisp/gnus/nnnil.el → $BUILDS/gnus/nnnil.el
$REPOS/commercial-emacs/lisp/gnus/nnoo.el → $BUILDS/gnus/nnoo.el
$REPOS/commercial-emacs/lisp/gnus/nnregistry.el → $BUILDS/gnus/nnregistry.el
$REPOS/commercial-emacs/lisp/gnus/nnrss.el → $BUILDS/gnus/nnrss.el
$REPOS/commercial-emacs/lisp/gnus/nnselect.el → $BUILDS/gnus/nnselect.el
$REPOS/commercial-emacs/lisp/gnus/nnspool.el → $BUILDS/gnus/nnspool.el
$REPOS/commercial-emacs/lisp/gnus/nntp.el → $BUILDS/gnus/nntp.el
$REPOS/commercial-emacs/lisp/gnus/nnvirtual.el → $BUILDS/gnus/nnvirtual.el
$REPOS/commercial-emacs/lisp/gnus/nnweb.el → $BUILDS/gnus/nnweb.el
$REPOS/commercial-emacs/lisp/gnus/score-mode.el → $BUILDS/gnus/score-mode.el
$REPOS/commercial-emacs/lisp/gnus/smiley.el → $BUILDS/gnus/smiley.el
$REPOS/commercial-emacs/lisp/gnus/smime.el → $BUILDS/gnus/smime.el
$REPOS/commercial-emacs/lisp/gnus/spam-report.el → $BUILDS/gnus/spam-report.el
$REPOS/commercial-emacs/lisp/gnus/spam-stat.el → $BUILDS/gnus/spam-stat.el
$REPOS/commercial-emacs/lisp/gnus/spam-wash.el → $BUILDS/gnus/spam-wash.el
$REPOS/commercial-emacs/lisp/gnus/spam.el → $BUILDS/gnus/spam.el
log:
[2024-06-16 22:06:20] Package queued
[2024-06-16 22:06:20] Continued by: elpaca--process
[2024-06-16 22:06:20] Continued by: elpaca--queue-dependencies
[2024-06-16 22:06:20] No external dependencies
[2024-06-16 22:06:20] No Info dir file found
[2024-06-16 22:06:20] Continued by: elpaca--add-info-path
[2024-06-16 22:06:20] Activating package
[2024-06-16 22:06:20] Package build dir added to load-path
[2024-06-16 22:06:20] Caching autoloads
[2024-06-16 22:06:20] Autoloads cached
[2024-06-16 22:06:20] Continued by: elpaca--activate-package
[2024-06-16 22:06:20] ✓ 0.369 secs
[2024-06-17 00:02:14] Continued by: elpaca--process
[2024-06-17 00:02:14] Fetching remotes
[2024-06-17 00:02:14] $git fetch --all -v
[2024-06-17 00:02:16] POST git-upload-pack (416 bytes)
[2024-06-17 00:02:17] From https://github.com/commercial-emacs/commercial-emacs
[2024-06-17 00:02:17] = [up to date] master -> origin/master
[2024-06-17 00:02:17] Continued by: #[128 "\302\301\303\300\"\"\207" [("Remotes fetched" nil) elpaca--process-sentinel apply append] 6 "
(fn &rest ARGS2)"]
[2024-06-17 00:02:17] Remotes fetched
[2024-06-17 00:02:17] $git --no-pager log --reverse --since=2024-06-04 13:08:19 -0400 --pretty=%h %s (%ch) ..@{u}
[2024-06-17 00:02:17] Continued by: #[128 "\302\301\303\300\"\"\207" [(nil nil) elpaca--process-sentinel apply append] 6 "
(fn &rest ARGS2)"]
[2024-06-17 00:02:17] ✓ 5.742 secs
Hmm, maybe something like this is possible: https://github.blog/2020-01-17-bring-your-monorepo-down-to-size-with-sparse-checkout/#cloning-in-sparse-mode
I've considered using sparse checkouts. Have not had the chance to implement/test it much:
https://github.com/progfolio/elpaca/issues/300#issuecomment-2081701038
Confirmation
Elpaca Version
Elpaca bc685f5 HEAD -> master, origin/master, origin/HEAD installer: 0.7 emacs-version: GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.41, cairo version 1.18.0) of 2024-04-23 git --version: git version 2.45.2
Operating System
Windows Subsystem for Linux - Arch Linux; Windows 11
Description
Hi. Currently I've a couple of packages that live in mono-repos:
flymake
(in the emacs repo) and the commercial-emacs variantgnus
. These clone the whole repository and subsequently clutter the fetch process with all changes to the repo. Do you have any tips on avoiding this? I see there's some internal mono-repo handling inelpaca.el
but it's over my head, I don't understand what it does.This is the recipe I'm using for flymake (it's the one on the GNU-Devel menu):