[WIP] Add zopfli as default program for deflate algorithm#64
Merged
jkent merged 1 commit intojkent:mainfrom Apr 14, 2026
Merged
[WIP] Add zopfli as default program for deflate algorithm#64jkent merged 1 commit intojkent:mainfrom
jkent merged 1 commit intojkent:mainfrom
Conversation
Owner
|
I think a way to install dependencies as needed is in order. I'd like to do the same for brotli too. Something similar to how node.js packages are installed on-demand. I toyed with the idea, but there isn't a stable api interface to pip. Maybe multiple requirements.txt files named similar to the transform? |
Contributor
Author
|
I don't know if a |
Contributor
Author
|
Maybe this module will solve the issue well. |
Owner
|
Bumping this. PR #69 has a great solution for pip. I will work on this after merging. |
…duction in file size compared to zlib/deflate
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Don't merge this PR, since it contains a change that'll break users code.
This PR contains 2 commits. The first one is the a change to match esp-idf convention for
idf.pytarget names.In esp-idf, all targets you can run use dash for word separation, but frogfs uses underscore for the
generate_frogfs_bintarget (but notfrogfs-flash). So the first commit rename the target to fit esp-idf's conventions (this was spotted by our CI tooling).However, this is a breaking change for any user of frogfs (although, if they use
frogfs-flash, it still works, so I would say it breaks developers of frogfs more).The second commit is a dumb but useful one. If zopfli is present on the system, it'll use it instead of zlib for deflating the input files. zopfli is more efficient at compressing data while still generating deflate compatible stream (so it'll be decompressed perfectly by zlib or gzip or ...). For an embedded system, this is a simple way to pack more data in the filesystem's partition. If it's not present, it'll fallback to zlib.
I've modified the
requirements.txtfile to include zopfli so we can test it in our pipeline, but I'm not sure it's right (since it'll force all user to download zopfli). I don't know what you think here?