Skip to content

Provide a way to tweak libstd compilation dependency resolution #160

@RalfJung

Description

@RalfJung

Right now, compiling libstd of the latest nightly with xargo is broken. I submitted rust-lang/rust#43975 to rust to fix this, but it would be nice to have a fix (if this comes up again) that doesn't take many days to land.

The problem is that libstd depends on gcc = "0.3.50". rust's Cargo.lock makes sure that version 0.3.50 is used. However, with xargo, the lock file isn't available and it will happily use newer versions from crates.io if they are semver-compatible. Currently, it picks 0.3.52. The problem is that this version adds deprecations, and part of libstd have deny(warnings), so using deprecated items makes the build fail.

If I had some more control over the Cargo.toml that xargo generates to build libstd, I would work around this by adding the following to that file:

[dependencies.gcc]
version = "=0.3.50"

I thought this should also be possible with the [patch] or [replace] features, but I could not get them to work here, so maybe I am mistaken.

Do you think it makes sense for xargo to support something like this?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions