Skip to content

Conversation

@test9753
Copy link
Contributor

Cargo will unnecessarily download and compile windows specific crates (kernel32-sys and its dependencies) on a unix system if target specific dependencies are not specified.

@Amanieu
Copy link
Contributor

Amanieu commented Jun 14, 2016

This is a breaking change since it requires a recent version of Cargo.

@ruuda
Copy link
Owner

ruuda commented Jun 14, 2016

Yes, I tried to do this in Filebuffer too, but it requires a recent version of Rust/Cargo so I reverted it in the end. While this should definitely be done in the future when people have had the time to upgrade, at this point I don’t want to drop support for Rust 1.6 and 1.7 yet.

@Amanieu
Copy link
Contributor

Amanieu commented Jun 14, 2016

There's also the issue that regex indirectly depends on thread-id, and regex needs to support Rust 1.3.

@ruuda
Copy link
Owner

ruuda commented Jun 14, 2016

I added Rust 1.3 to the Travis CI configuration so we know when something breaks. Though in the case of regex, it could lock the version of thread-id it depends on by adding thread-id = "= 2.0.0" to its dependencies. This crate is so trivial that there aren’t going to be bugfix releases anyway.

@BurntSushi
Copy link

Is there anything I can do to help move this forward? I think this is the last dep of ripgrep that pulls in the Windows dependencies on Linux.

@ruuda
Copy link
Owner

ruuda commented Oct 29, 2016

The only reason I haven’t done this yet is for compatibility reasons. At the time I was not convinced that a change like this would justify a major version bump because not a single line of Rust code needs to change, but I did not want to break other crates either. But recent events changed my view, so I’ll do a major version bump anyway. I’ll merge this right away.

Side note: if you are in a position where you can upgrade to a newer version, you might consider not depending on this library at all in the future, as thread ID support has landed in the standard library recently.

@BurntSushi
Copy link

@ruuda Thanks!

Thanks for the heads up about the addition to std. I can't quite require a release that new unfortunately.

@Amanieu
Copy link
Contributor

Amanieu commented Oct 29, 2016

Unfortunately the thread ID implementation in libstd is not suitable for thread_local. This crate is still necessary.

@ruuda
Copy link
Owner

ruuda commented Oct 29, 2016

Version 3.0.0 which includes this change is now on crates.io.

@test9753, it took a while to merge, but thanks still! (I rebased it as 11a4012 so GitHub will not mark it as merged.)

@ruuda ruuda closed this Oct 29, 2016
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

Successfully merging this pull request may close these issues.

4 participants