-
-
Notifications
You must be signed in to change notification settings - Fork 18.1k
Description
Describe the bug
This is a potential improvement of Nixpkgs Emacs infra.
Currently, when generating index for MELPA packages, their recipes are downloaded and then hashed. The url (actually, the git commit to construct the url is stored) and hash of a recipe are stored in the index (recipes-archive-melpa.json). When building one of these packages, its recipe is downloaded again using the stored url and hash.
If we embed the recipe itself into the generated index, then there is no need to download it again at build-time.
Note that this may even decrease the index file size because the git commit and content hash of a recipe are replaced with its content and usually the content is smaller. To further decrease the index size, we can store the smaller one. But I am afraid it only brings marginal improvement.
Additional context
- This potential improvement is proposed in emacs: teach elisp builders the finalAttrs pattern #330589 (comment).
- Also mentioned in the "Record less info" section of Lockfiles bloat the Nixpkgs tarball #327064 (comment)
- Related PRs
- the first part and easy part: emacs: make melpaBuild accept recipe content as a string #334955
Add a 👍 reaction to issues you find important.