Nullus157 / Nullus157/async-compression

RFC: switch from liblzma C bindings to pure-Rust lzma-rust2 ?

Open
#441 4 comments 3 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
666
Forks
118
Avg merge
17h 18m
Merged PRs (30d)
9

Description

I am wondering whether it would be possible (or desirable?) to replace the liblzma dependency (Rust bindings for liblzma / xz) with the [lzma-rust2](https://crates.io/crates/lzma-rust2) crate?

The latter is a "pure Rust" port of the "xz-java" project and even seems to have performance comparable to liblzma (or better). It also avoids having to link and / or build native C code / libraries, which should make some uses cases (like cross-compilation) easier. It's also almost entirely "safe" Rust code (except for some handwritten Assembly routines, which can even be disabled).

---

For context: I maintain the RPM package for the async-compression crate in Fedora Linux. The liblzma / liblzma-sys crates (forked from xz2 / lzma-sys?) would be something new to re-review / re-audit before they can be added, whereas lzma-rust2 was already added to support the `zip` crate.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.