matrix-org / vodozemac

An implementation of Olm and Megolm in pure Rust.
Apache License 2.0
155 stars 29 forks source link

Exposing the library to BEAM as a NIF. #172

Closed shymega closed 1 month ago

shymega commented 1 month ago

Hi there.

I'm trying to get E2EE working on an IRC <-> Matrix bridge I forked. There is a Matrix SDK for Elixir already, but I was thinking of making a PR to bring Vodozemac support instead of libolm.

Long story short, I'm wondering what the authors of Vodozemac think of Rustler to allow the BEAM ecosystem to use the library.

I could write a wrapper, but I'm just curious about your thoughts.

Cheers.

poljar commented 1 month ago

There are already some, albeit stale, bindings that use Rustler: https://gitlab.com/polyjuice/polyjuice_newt.

shymega commented 1 month ago

I didn't see that in my search. Is that documented on the Matrix.org docs?

Thank you!

poljar commented 1 month ago

Is that documented on the Matrix.org docs?

Don't know, sorry.

shymega commented 1 month ago

Doesn't look like it is. I don't know where the best place to add the Elixir bindings would be, but I've forked to my fork, and people can pull that from Git.

Hopefully, this issue will signpost people.

shymega commented 1 month ago

One more thing - once I get the bindings updated, can we add the Rustler directory in the linked repo to the community bindings repo for Vodozemac?

poljar commented 1 month ago

The vodozemac-bindings repo has been quite dead as well, it's pretty hard to work on it as you'd need to update all the bindings at once.

As of now, I expect that smaller repos maintained by separate communities are the way to go, this might change in the future but it's my current view. For example, I also pulled out the Python bindings and another community seems to have taken interest in the c++ bindings.