#ffi #bindings #jerasure #gf-complete

sys jerasure-sys

FFI bindings to the jerasure and gf-complete library

4 releases (1 stable)

Uses new Rust 2024

1.0.0 Mar 9, 2025
0.2.0 Mar 9, 2025
0.1.1 Mar 9, 2025
0.1.0 Mar 7, 2025

#297 in #ffi

MIT license

1MB
25K SLoC

C 23K SLoC // 0.1% comments Shell 644 SLoC // 0.2% comments M4 328 SLoC // 0.5% comments Rust 295 SLoC // 0.1% comments Automake 147 SLoC // 0.2% comments

Contains (obscure autoconf code, 3KB) vendor/gf-complete/configure.ac, (obscure autoconf code, 2KB) vendor/jerasure/configure.ac

jerasure-sys

Jerasure-sys is a Rust FFI binding for gf-complete and jerasure, which provide erasure coding in C. This project allows you to use Galois computation and erasure codes functionality in your Rust applications.

Requirements

This crate bundles the source code of gf-complete and jerasure, and compiles these libraries during the build process, so you don't need to have these two libraries pre-installed on your system.

However, this crate uses the bindgen and autotools crates, which depend on the following packages:

  • libllvm
  • libtool
  • autoconf
  • automake

On Ubuntu-like distributions, you can install these dependencies using:

apt install autoconf automake libtool libclang-dev

Contributing

Feel free to open an issue. If you've got a fix or feature ready, open a PR. Thanks!

License

MIT

No runtime deps

~0–2.2MB
~43K SLoC