Installation

Install from RPM/APT

WARNING: as of today afb-librust remains in early access phase and binary versions are not public. Alpha testers should build it from source.

  • Declare redpesk repository: (see doc)

  • redpesk: sudo dnf install afb-librust afb-ui-devtools
  • Fedora: sudo dnf install afb-librust afb-ui-devtools
  • OpenSuse: sudo zipper install afb-librust afb-ui-devtools
  • Ubuntu: sudo apt-get install afb-librust afb-ui-devtools

Rebuilding from source

Rust binding Dependencies

afb-librust requires GCC to compile the glue between libafb/C and libafb/Rust. This glue is generated automatically through bindgen but nevertheless requires a GCC/C compiler.

  • Declare redpesk repository: (see doc)

  • gcc
    • afb-libafb
    • json-c
  • rust
    • rustc >1.60
    • cargo >1.60
    • bindgen >0.6
  • sample
    • serde-json

Note: bingen & serde pull many other rust modules that are pulled automatically by cargo at build time.

Building

    git clone git.ovh.iot:redpesk/redpesk-labs/afb-librust.git
    cd afb-librust
    touch libafb/src/capi/build.rs  # cargo fails to detect missing file that should be generated
    cargo build