Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Which tools use metadeps information? #9

Open
diwic opened this issue Feb 16, 2018 · 8 comments
Open

Which tools use metadeps information? #9

diwic opened this issue Feb 16, 2018 · 8 comments

Comments

@diwic
Copy link

diwic commented Feb 16, 2018

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?

@joshtriplett
Copy link
Owner

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.

@nox
Copy link

nox commented Feb 18, 2018

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.

@diwic
Copy link
Author

diwic commented Feb 18, 2018

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.

@diwic
Copy link
Author

diwic commented Feb 18, 2018

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.

@diwic
Copy link
Author

diwic commented Feb 27, 2018

@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.

@Eijebong
Copy link

@diwic 👍

@diwic
Copy link
Author

diwic commented Mar 5, 2018

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.

@joshtriplett
Copy link
Owner

joshtriplett commented Mar 5, 2018

@diwic Sorry, I missed your previous comment.

As long as the version requirements stay in sync, that should work, though it's unfortunate.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants