Open diwic opened 6 years ago
At the moment, Debian is in the process of integrating metadeps support into debcargo and integrating debcargo into Debian. We'll need this information to successfully identify what build-time dependencies a package needs, such as making sure the dbus Rust library build-depends on the corresponding C libraries.
The issue with the version of the toml crate is a hard one. Current toml depends on serde, and there are people who don't want the extra dependencies; using old toml makes life slightly more difficult for people who already depend on new toml. That needs fixing.
The issue with the version of the toml crate is a hard one.
I disagree with that, just make the bump. I don't understand why we are trying very hard to spare not even 10s of build time for a few, while most of the community will have to use serde at some point anyway.
I don't understand why we are trying very hard to spare not even 10s of build time for a few, while most of the community will have to use serde at some point anyway.
Well, compiling an extra toml-rs isn't much build time either, and I'm not so sure w r t your claim about how often serde is used and not.
But from a broader perspective: I wonder if metadeps should rather go into cargo altogether. Linking to C libraries using pkg-config is common enough for it to be handled by cargo. That way we could avoid the build script altogether, and that would be a big win for compile times.
@nox @joshtriplett @Eijebong
Hmm. If I were to remove the metadeps dependency (i e revert to pkg-config) but keep the key in Cargo.toml, would that be a reasonable compromise? That way debcargo could still do its thing.
@diwic :+1:
Ok, libdbus-sys now depends on pkg-config rather than metadeps, but keeps the metadeps key in Cargo.toml.
I'm all for helping Debian integrate Rust stuff easily, but the lack of debcargo documentation in combination with that @joshtriplett hasn't replied further, I can only make a guess about how this stuff works. And that guess is that doing what I'm doing will not regress debcargo functionality.
@diwic Sorry, I missed your previous comment.
As long as the version requirements stay in sync, that should work, though it's unfortunate.
I have an issue on my crate (dbus) asking why the metadeps dependency is needed. I have a hard time explaining it to them, so I'm considering removing it again.
The readme of this crate doesn't mention any particular tools which actually uses the metadeps information, so what would I exactly lose if I changed from a metadeps to a pkg-config dependency?