nettle-sys 2.0.2

Low-level Rust bindings for the Nettle cryptographic library
docs.rs failed to build nettle-sys-2.0.2
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: nettle-sys-2.3.0

nettle-sys

Low-level Rust bindings for the Nettle cryptographic library.

# Cargo.toml
[dependencies]
nettle-sys = "2.0"

The documentation can be found here.

Features

This is a list of feature flags for this library:

  • vendored: Use a packaged version of the Nettle library. Implies static linking.

Cross compilation

nettle-sys can be cross compiled using cross and a custom Docker container. First, build the container and install cross:

cargo install cross
docker -t nettle-sys/<toolchain>:1 docker/<toolchain>

Then, you can cross compile the project:

cross --target <toolchain> -v

The build artifacts will be placed in target/debug/<toolchain>.

Static linking

By default, nettle-sys is dynamically linked to its dependencies.

By defining the NETTLE_STATIC environment variable during the build, it can also be statically link to its dependencies:

env NETTLE_STATIC=yes cargo build

This is particularly useful to produce standalone binaries that can be easily distributed.

Pregenerate bindings.rs

By default, nettle-sys invokes bindgen to generate bindings for Nettle. In some build environments, this might not work due to bindgen depending on libllvm. In this case, the bindings.rs may be pregenerated, and used by setting:

env NETTLE_PREGENERATED_BINDINGS=/path/to/bindings.rs cargo build

Note: bindings.rs is specific to target architecture, operating system, and Nettle version.

License

This project is licensed under either of

at your option.