alexcrichton / bzip2-rs

libbz2 (bzip2 compression) bindings for Rust
Apache License 2.0
97 stars 59 forks source link

Re-implement in pure Rust #40

Open newpavlov opened 5 years ago

newpavlov commented 5 years ago

Are you interested in re-implementing bzip2 in pure Rust or do you intend to keep it as a binding? (i.e. will you accept such work if anyone will be interested in it or not?) bzip2-sys implementation could be kept as a feature-gated disabled by default option.

Potential rewrite will help with the licensing issue and will help crates which target WASM.

alexcrichton commented 5 years ago

Sounds like a good idea to me! I think a strategy similar to flate2 where the implementation is in a separate crate probably works best, and then this crate can multiplex backends as necessary.

infinity0 commented 5 years ago

The new bzip2 (C library) maintainer has actually started rewriting it in rust.

dralley commented 4 years ago

Granted, it does not look like they are being very active with development. No commits in more than 7 months.

paolobarbolini commented 3 years ago

Hello, I just published a pure Rust bzip2 decompressor implementation. I'll also probably work on the encoder in the future. In the meantime I already published a 0.1.0 on crates.io, which you can find here: https://crates.io/crates/bzip2-rs

micahsnyder commented 6 months ago

@ohsnyt has a pure Rust bzip2 multi-threaded compressor and decompressor in progress, here: https://github.com/ohsnyt/bzip2-rust It is functional, but is not yet published on crates.io.

If anyone is interested in helping test, and fine tune it, I'm sure he would appreciate the help.