rust_sodium
Maintainer: David Irvine (david.irvine@maidsafe.net)
Rust bindings to libsodium.
This project is largely based on sodiumoxide. Some main differences are:
- this project builds or downloads libsodium by default, favouring a statically-built, fixed version of the native library
- offers the ability to initialise libsodium with a psuedorandom number generator, allowing for reproducible data to be generated, which can be useful in the context of tests
- implements a test to ensure the FFI bindings match the native library's interface
- runs CI tests on Windows (AppVeyor), OS X and Linux (Travis)
Crate | Documentation | Linux/OS X | Windows | Issues |
---|---|---|---|---|
MaidSafe website | SAFE Dev Forum | SAFE Network Forum |
---|
Note for building on Windows
In order to allow the build script to download libsodium, you must have Powershell v4.0 or greater installed.
Note for building on Linux
Certain situations may require building libsodium configured with --disable-pie
. To enable this,
set an environment variable RUST_SODIUM_DISABLE_PIE
while building, e.g.
RUST_SODIUM_DISABLE_PIE=1
Cross-Compiling
Cross-Compiling for ARM
-
Install dependencies and toolchain:
-
Add the following to a .cargo/config file:
[target.armv7-unknown-linux-gnueabihf] linker = "arm-linux-gnueabihf-gcc"
-
Build by running:
Cross-Compiling for 32-bit Linux
-
Install dependencies and toolchain:
-
Build by running:
License
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT License (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.