This pulls in several updates for which there is no urgent need, but
also no good reason *not* to do them (especially as they may contain bug
fixes, even critical ones).
This pulls in embedded-nal 0.7 implementations, and (on both crates)
alterations that decouple riot-wrappers from riot-sys and simplify build
system integration, and do away with the need for passing
RIOT_USEMODULE.
Back when specific control of the Rust version used with RIOT was
needed, CARGO_CHANNEL was added to explicitly set the Rust version with
consideration for CI special cases.
Rust's mechansims of selecting a toolchain can be used instead now.
* riot-wrappers:
* Fix infinite loop when using a Mutex
* Make ValueInThread Copy/Clone
* riot-sys:
* Export xxx_DEV (eg. I2C_DEV) C macros as functions
* Add auto_init_utils.h
The change in 399e25cc was did not have the intended effect: As the
local crates still all defined 0.7 as the riot-wrappers version, that
dependency was actually down- rather than upgraded, and thus did not
effect the stabilizations.
This pulls in versions of previously nightly-only crates that can be
built on 1.65 beta.
The Cargo overrides that direct the resolver to the git repositories are
disabled while the version used in tree also happens to be a released
version of the crates, as it should be the case as per [251].
[251]: https://github.com/RIOT-OS/Release-Specs/issues/251
This will allow more components to build on 1.64 stable, and contains a
fix relevant for https://github.com/RIOT-OS/RIOT/pull/18619.
CoAP modules are held back as they appear to need an even newer nightly
than in the current riotdocker to build without feature declarations.
A change in Rust nightly features broke version 0.2.5 of the `cstr`
crate, whose nightly-only features are enabled in some examples. The
breakage was quickly fixed upstream in the 0.2.6 version, this updates
the locks.
The riotmodules dependency was missed in bc8ec6d5, and while generally
it does not severly harm builds, it does harm builds riotdocker CI where
branches are switched, which is blocked by dirty files in the checkout.
The riot-wrappers version was missed when what is now 5e75f4bd was
rebased onto fdc4e11a.
Examples have previously relied on the (really: some) nightly toolchain
to be the default. As that, in practice, is a problematic assumption,
the latest toolchain to use is now determined programmatically, and that
is set explicitly on the examples that use nightly.
Workaround-For: https://github.com/rust-lang/rustup/issues/3015
This is not so much an update (riot-wrappers stays at the same commit,
riot-sys just advances by one that re-enables an optional dependency,
but of course third party crates are updated) but more reflects the
switch from using released crates to git versions.
Updating to riot-sys 0.7.7 enables support for more recent C2Rust
versions, and to riot-wrappers 0.7.22 unblocks [17990].
[17990]: https://github.com/RIOT-OS/RIOT/pull/17990
This restores compatibility with current nightlies by using the latest
coap-message version (after a nightly-only feature that uses saw a late
change), and also removes obstacles for use with stable Rust 1.59 (in
unrelated parts; the CoAP example is still nightly-only).
Contributes-To: https://github.com/RIOT-OS/RIOT/issues/17526
This pulls in adjustments to the C-nonbreaking but Rust-breaking API
change in https://github.com/RIOT-OS/RIOT/pull/17359
cstr_core is forcibly kept at 0.2.4 because 0.2.5 needs a newer nightly
than riotdocker currently has.