||5 days ago|
|src||4 days ago|
|tests||4 days ago|
|README.md||4 days ago|
|nimolm.nimble||4 days ago|
It is intentionally not published on Github, read here why.
Nim-olm can be installed via Nimble:
nimble install https://gitea.com/BarrOff/nim-olm
This will download and install nim-olm in the standard Nimble package location, typically ~/.nimble. Once installed, it can be imported into any Nim program.
To use libolm installed in a standard system path like
-d:olmStd flag has to be passed when compiling.
To download and build libolm from the official repo, the
-d:olmDL flag has to be passed when compiling.
The version of libolm to build can be set by
-d:olmVersion="3.2.1", the current default version to build is
Nim-olm currently wraps libolm without any changes to it's C interface. For usage of the API, please refer to it's official documentation.
The maintainer is no expert in cryptography, and therefore won't write a higher-level wrapper. If you are familiar with cryptography, pull requests providing such an implementation are highly welcome.
import nimolm var utilityBuffer: seq[char] = newSeq[char](olm_utility_size()) utility: ptr OlmUtility = olm_utility(addr(utilityBuffer))
Nimterop currently only supports C, even though C++ support is in the works. Using libolm statically is therefore currently not possible, because the static library contains C and C++ code. The compiled binary has to be dynamically linked.
When nimterop stabilizes C++ support, building statically will be added.
Nim-olm wraps the libolm source code and all licensing terms of libolm apply to the usage of this package.
Without the following people nim-olm wouldn't be possible:
- genotrance creator of nimterop and nimarchive
Nim-olm is a work in progress and any feedback or suggestions are welcome. It is hosted on Gitea with an MIT license so issues, forks and PRs are most appreciated.