On Fri, Jul 8, 2022 at 1:35 PM Viresh Kumar viresh.kumar@linaro.org wrote:
Hello,
Here is another version of rust bindings for libgpiod v2.0, based of the next/libgpiod-2.0.
Pushed here:
https://github.com/vireshk/libgpiod master
V3->V4:
- Rebased on top of new changes, and made changes accordingly.
- Added rust integration tests with gpiosim.
- Found a kernel bug with tests, sent a patch for that to LKML.
V2->V3:
- Remove naming redundancy, users just need to do this now use libgpiod:{Chip, Direction, LineConfig} now (Bartosz);
- Fix lifetime issues between event-buffer and edge-event modules, the event buffer is released after the last edge-event reference is dropped (Bartosz).
- Allow edge-event to be copied, and freed later (Bartosz).
- Add two separate rust crates, sys and wrapper (Gerard).
- Null-terminate the strings passed to libgpiod (Wedson).
- Drop unnecessary checks to validate string returned from chip:name/label/path.
- Fix SAFETY comments (Wedson).
- Drop unnecessary clone() instances (Bartosz).
V1->V2:
- Added examples (I tested everything except gpiomon.rs, didn't have right hardware/mock device to test).
- Build rust bindings as part of Make, update documentation.
Thanks.
-- Viresh
Viresh Kumar (8): libgpiod: Add libgpiod-sys rust crate libgpiod: Add pre generated rust bindings libgpiod-sys: Add support to generate gpiosim bindings libgpiod: Add rust wrapper crate libgpiod: Add rust examples libgpiod: Derive debug traits for few definitions libgpiod: Add rust tests libgpiod: Integrate building of rust bindings with make
Hey Viresh, Kent and Miguel!
Rust noob here: I have my cargo installed using rustup for my local user but I can't run it via sudo or as root (to run tests) because I'm seeing this:
error: no override and no default toolchain set
What is the right way to use cargo as root? I'm hesitant to just curl a random script and pipe it to shell as root honestly.
Bart