#12 Optional dependencies which do not exist
Closed: Fixed 4 years ago by ignatenkobrain. Opened 6 years ago by ignatenkobrain.

For example, serde (or clap?) has optional dependency on clippy, but that doesn't exist in non-stable... Since we don't have rich deps and proper packaging, we just include all optional dependencies (yes, weak deps will not help since they are ignored by builders).

We may have to blacklist known crates like clippy.

AGREED: we will package even winapi stuff (since it would probably make sense for cross-compilation and will not give any problems) (ignatenkobrain, 22:15:13)

#58 adds the initial support for rust2rpm to enable/disable optionals features. But it gives us nothing until cargo allows some deps to be missing.

Upstream issues:
https://github.com/rust-lang/cargo/issues/4544 — Cargo fails to run when an optional dependency is missing
https://github.com/rust-lang/cargo/issues/5896 — Don't require existence of dependencies not needed for the current --target
https://github.com/rust-lang/cargo/issues/5133 — Stabilize -Z avoid-dev-deps as --minimal-cargo-lock

I've opened https://pagure.io/fedora-rust/rust2rpm/pull-request/68 which somewhat improves current situation.

But it still pulls target-specific dependencies (the ones which rustcfg is supposed to filter out) even with -Z avoid-dev-deps.

Metadata Update from @ignatenkobrain:
- Issue set to the milestone: 7

4 years ago

Let's track target-specific dependencies in #2.

I've just merged #68 so this ticket is basically done.

Metadata Update from @ignatenkobrain:
- Issue close_status updated to: Fixed
- Issue status updated to: Closed (was: Open)

4 years ago

Login to comment on this ticket.