`rustc-env` only works for the current crate, but plain keys work for
dependent crates via the `DEP_CTRU` keys, which is probably more useful in
general.
- Don't issue a warning for "mismatched version" since the new bindings
make this irrelevant
- Minor build script refactoring and code cleanup
- Output a `release` version (-X) for libctru env vars
- Revert version to 0.5.0, which is higher than we were using before the
major 22.x version but should be ok since we never released to crates.io
Most of these are dead simple and don't require any service
initialization etc., so all we need is a simple wrapper. I didn't
implement everything in <3ds/os.h> yet, but got most of the basic ones
which seemed like likely use cases to me.
The old `cargo-3ds` we were using didn't care about the commit date being 05-30, but the new one used by the `test-runner` action does.
Since the rustc version is one day older than the toolchain date, we should be able to work with just the 06-01 toolchain instead.
We don't want to define __stacksize__ more than once, since the linker
will reject it even if the definition is the same.
For some reason this seems to link fine with devkitARM release 62, but
not 61 (which is the version in the latest upstream docker images). This
is probably safer anyway, since there are technically two copies of
`ctru-rs` at play here.
Luckily, Cargo doesn't mind circular dev-dependencies and we can patch
to ensure it's using the same version. We can also leave this as a
`git = "..."` dependency if we want, since it's a dev dependency.