aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: c9ce289ce9c149eda33d11dcddb2460e7aca831a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# nitrokey-sys-rs

Low-level Rust bindings for `libnitrokey`, providing access to Nitrokey
devices.

This crate contains a copy of the [`libnitrokey`][] library, builds it from
source and links it statically.  The host system must provide its dependencies
in the library search path:

- `libhidapi-libusb0` (on Linux)
- `libhidapi` (on non-Linux systems)

If you set the `USE_SYSTEM_LIBNITROKEY` environment variable when building this
crate, it links directly against `libnitrokey` instead of building it from
source.  In this case, `libnitrokey` must be available in the library search
path.

Per default, this crate uses bindings that have been generated using Rust’s
`x86_64-unknown-linux-gnu` target.  To the best of our knowledge, these
bindings are platform-independent.  If you want to generate the bindings,
including layout tests, specifically for your platform during the build,
activate the `bindgen` feature.  In this case, you will also need `clang` and
`libclang` in the default search path.

Alternatively, you can execute `make verify-bindings` to compare the
pre-generated bindings with the bindings that `bindgen` generates for your
platform.  This check only works on a clean Git working tree and requires the
`bindgen` binary, `git` and `quilt`.

## Versioning

The major and minor version of the `nitrokey-sys` crate map to the major and
minor version of `libnitrokey`.  The `nitrokey-sys` patch version may be
increased independently.

## Contributing

Contributions to this project are welcome!  Please submit patches to the
mailing list [~ireas/nitrokey-rs-dev@lists.sr.ht][] ([archive][]) using the
`[PATCH nitrokey-sys-rs]` subject prefix.  For more information, see the
[Contributing Guide][].

## Contact

For bug reports, patches, feature requests or other messages, please send a
mail to the mailing list [~ireas/nitrokey-rs-dev@lists.sr.ht][] ([archive][]).

## License

This project as well as `libnitrokey` are licensed under the [LGPL-3.0][].

[`libnitrokey`]: https://github.com/nitrokey/libnitrokey
[~ireas/nitrokey-rs-dev@lists.sr.ht]: mailto:~ireas/nitrokey-rs-dev@lists.sr.ht
[archive]: https://lists.sr.ht/~ireas/nitrokey-rs-dev
[Contributing Guide]: https://man.sr.ht/~ireas/guides/contributing.md
[LGPL-3.0]: https://opensource.org/licenses/lgpl-3.0.html