[BRLTTY] keycodes description

Aura Kelloniemi kaura.dev at sange.fi
Tue Dec 3 10:50:33 EST 2019


Samuel Thibault <samuel.thibault at ens-lyon.org> writes:
 > Aura Kelloniemi, le lun. 02 déc. 2019 13:49:15 +0200, a ecrit:
 > > These packages only install source code.

 > Ok, but that's still system-wide installation of libraries, even if as
 > source code. Then

 > > the library files cannot be installed anywhere where they would be
 > > accessible to the normal Rust build tool called Cargo.

 > Debian does install the .rs files in /usr/share/cargo/registry. Can't
 > brltty do something like this to make them available? Really, I believe
 > that in the long run we want to maintain bindings altogether.

Yes we can, but cargo does not support this.

I made a test, installed librust-serde-dev in Debian, and made a test package
which depended on the exact same version. However, cargo still downloaded
serde from crates.io. Looking at the subject, it seems that
/usr/share/cargo/registry/ is just something that distribution maintainers
wish would be supported without complex configuration, but it is not. I
found a feature request for Cargo[1], which cargo authors haven't even
commented on.

So, I would not spend much time trying to invent a way to install Rust
libraries system-wide, until Cargo maintainers are interested in supporting
such a scheme. I think it is a bit ignorant from their side, but perhaps they
have a good reason. Rust packages are updated quite often generally, and maybe
they want people to always use the latest compatible version, or something,
don't know.

[1]: https://github.com/rust-lang/cargo/issues/4883

Also, I don't know how to integrate cargo build system with a make-based
system in clean fashion. One noteworthy thing is also that cargo is going to
need an internet connection, unless all the dependencies of BRLTTY bindigns
have been cached in the build user's ~/.cargo/registry. I'm not sure if want
BRLTTY build to depend on internet connectivity.

We can decide all this though, when the bindings are ready, and stable. How
stable is the new parameters API? Should I start using it? Are there going to
be Python bindings for that in the next release?

-- 
Aura


More information about the BRLTTY mailing list