-
Notifications
You must be signed in to change notification settings - Fork 76
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
Add support for bzip3 #522
base: main
Are you sure you want to change the base?
Conversation
Good job! I have a branch with this implemented as an experiment, sort of, look at main...bzip3, our code looks very similar. I've been busy so I'm really glad to have your help. Previous ContextI encountered two blockers:
New Context
Seems like you just found a new blocker:
To temporarly ignore this blocker (while we wait for a - bzip3 = "0.8.1"
+ bzip3 = { git = "https://github.com/marcospb19/bzip3-rs", branch = "make-build-script-run-in-stable-1" } That's my branch with the fix. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Your code looks better than mine!
It's just missing the test code (it's basically one line)
And another requested change,
Now the CI is failing to build I don't know how to solve this for Ubuntu, MacOS and Windows, do we need to clone the repo and build it from scratch? 😭 Perhaps installing |
Not sure what's the best way to do it on windows, It's available for brew so macos should be easy to take care of, it is only available on ubuntu 23.04+ so we might have to use brew for linux as well |
ec92bc2
to
c870385
Compare
b2153b4
to
65d1229
Compare
I force-pushed a rebase to solve conflicts, and temporarily disabled some CI targets so that we can focus on the code problem for now. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Almost done, there is just one last problem:
.github/workflows/build-and-test.yml
Outdated
- target: aarch64-unknown-linux-gnu | ||
os: ubuntu-latest | ||
no-zstd-thin: true | ||
# - target: aarch64-unknown-linux-gnu | ||
# os: ubuntu-latest | ||
# no-zstd-thin: true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
CI is passing because I temporarily disabled some targets that were giving build errors.
We need to re-enable these targets, otherwise, we'll end up dropping support for them (should we?).
Someone needs to go and uncomment these targets at.github/workflows/build-and-test.yml
, and figure out how to make them build successfully, @freijon can you try doing that?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think I have the permission to do this? Or can I edit this from my fork?
EDIT: I uncommented the first arch aarch64-unknown-linux-gnu
and the error appears to be:
error: failed to run custom build command for
libbzip3-sys v0.3.3+1.3.2
...
This crate only supportslibclang
3.5 and later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tried solving this one by changing the package version that was being installed by apt
, no success tho.
Closes ouch-org#398 Signed-off-by: Jonas Frei <[email protected]>
Signed-off-by: Jonas Frei <[email protected]>
Closes #398
Signed-off-by: Jonas Frei [email protected]
This PR adds support for the bzip3 format. I tested it to the best of my knowledge and it seemed to work fine. Unlike the other formats, one can not modify the compression level directly. Bzip3 works with block sizes which can be varied. I chose a block size of 5MB which yielded good results with most examples I tested.
try
block and may cause complications at build timeP.S. I'm a Rust noob and did this primarily as a proof of concept. Let me know what you think about this.