<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nitrokey-sys-rs/patches, branch next</title>
<subtitle>low-level Rust bindings for libnitrokey</subtitle>
<id>https://git.ireas.org/nitrokey-sys-rs/atom?h=next</id>
<link rel='self' href='https://git.ireas.org/nitrokey-sys-rs/atom?h=next'/>
<link rel='alternate' type='text/html' href='https://git.ireas.org/nitrokey-sys-rs/'/>
<updated>2020-09-22T16:26:53Z</updated>
<entry>
<title>Do not include layout tests in generated bindings</title>
<updated>2020-09-22T16:26:53Z</updated>
<author>
<name>Robin Krahl</name>
<email>robin.krahl@ireas.org</email>
</author>
<published>2020-09-22T16:26:53Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/nitrokey-sys-rs/commit/?id=4932d2376cc03c64eb82972824be673cdc2e0741'/>
<id>urn:sha1:4932d2376cc03c64eb82972824be673cdc2e0741</id>
<content type='text'>
We are generating the Rust bindings in src/ffi.rs using bindgen once for
all platforms on an amd64 machine.  These bindings previously included
layout tests.  But these tests fail on some 32-bit architecture.  See
this discussion for more information:
	https://lists.sr.ht/~ireas/nitrokey-rs-dev/%3C20200919182408.GA1513%40ireas.org%3E

With this patch, we remove the layout tests from the generated bindings.
Instead, we will add the option to re-generate the bindings, including
the layout tests, during the build in the next patch.
</content>
</entry>
<entry>
<title>Update to libnitrokey v3.6</title>
<updated>2020-09-20T09:59:36Z</updated>
<author>
<name>Robin Krahl</name>
<email>robin.krahl@ireas.org</email>
</author>
<published>2020-09-19T21:05:35Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/nitrokey-sys-rs/commit/?id=56eb89dcf5f7d2c3b4ea92490a3b4df6f85713c0'/>
<id>urn:sha1:56eb89dcf5f7d2c3b4ea92490a3b4df6f85713c0</id>
<content type='text'>
This patch updates libnitrokey from version 3.5 to version 3.6, causing
these changes:

- New constants:
  - `NK_device_model_NK_LIBREM` (`NK_device_model` enum)
- New structures:
  - `NK_config`
- New functions:
  - `NK_device_serial_number_as_u32`
  - `NK_write_config_struct`
  - `NK_free_config`
  - `NK_read_config_struct`
  - `NK_free_password_safe_slot_status`
- Deprecated functions:
  - `NK_set_unencrypted_read_only`
  - `NK_set_unencrypted_read_write`
</content>
</entry>
<entry>
<title>Derive Default for libnitrokey structs</title>
<updated>2020-09-20T09:50:05Z</updated>
<author>
<name>Robin Krahl</name>
<email>me@robin-krahl.de</email>
</author>
<published>2020-09-20T03:01:06Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/nitrokey-sys-rs/commit/?id=e9a06bb9a2802a5ae6011fcd96cf54e1cfc7d311'/>
<id>urn:sha1:e9a06bb9a2802a5ae6011fcd96cf54e1cfc7d311</id>
<content type='text'>
This patch adds the --with-derive-default option to the bindgen
invocation so that it derives Default implementations for all
libnitrokey structs.  This allows us to simplify code in nitrokey-rs,
for example the initialization of structs that are used in nitrokey-sys
functions with output parameters.
</content>
</entry>
<entry>
<title>Re-generate bindings in src/ffi.rs</title>
<updated>2020-09-20T09:46:45Z</updated>
<author>
<name>Robin Krahl</name>
<email>me@robin-krahl.de</email>
</author>
<published>2020-09-20T02:46:26Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/nitrokey-sys-rs/commit/?id=483ec7256d6c4d01ba6c41513fdf8bbd7df6b4b3'/>
<id>urn:sha1:483ec7256d6c4d01ba6c41513fdf8bbd7df6b4b3</id>
<content type='text'>
Older versions of bindgen rendered C++ doc comments as Rust doc comments
using the /// syntax.  Newer versions use the doc attribute instead.
This patch re-generates the src/ffi.rs file with bindgen 0.55.1 so that
it uses the new format.  This makes it easier to perform changes in the
future.
</content>
</entry>
<entry>
<title>Remove unnecessary __uint*_t typedefs</title>
<updated>2020-09-20T09:43:14Z</updated>
<author>
<name>Robin Krahl</name>
<email>robin.krahl@ireas.org</email>
</author>
<published>2020-09-20T09:43:14Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/nitrokey-sys-rs/commit/?id=90bcfc8cc905b09d99064fc17a745c8ae2288c62'/>
<id>urn:sha1:90bcfc8cc905b09d99064fc17a745c8ae2288c62</id>
<content type='text'>
While bindgen is able to replace the C uint types with the correct Rust
types, it still generates typedefs for __uint{8,16,32,64}_t [0].  We
don’t need these typedefs, so we add a patch to remove them.

[0] https://github.com/rust-lang/rust-bindgen/issues/1663
</content>
</entry>
<entry>
<title>Use quilt to manage modifications in src/ffi.rs</title>
<updated>2020-09-20T09:39:07Z</updated>
<author>
<name>Robin Krahl</name>
<email>me@robin-krahl.de</email>
</author>
<published>2020-09-20T02:37:31Z</published>
<link rel='alternate' type='text/html' href='https://git.ireas.org/nitrokey-sys-rs/commit/?id=2b367a30df6e155621c116c41cc262dd96ad1a33'/>
<id>urn:sha1:2b367a30df6e155621c116c41cc262dd96ad1a33</id>
<content type='text'>
Previously, we manually modified the src/ffi.rs file to add deprecation
attributes.  With this patch, we use quilt to automatically apply
patches with the changes.
</content>
</entry>
</feed>
