Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign updependencies: registry vs git #26722
Comments
|
I should add that I copy servo/Cargo.lock into my project and let |
|
The secret is https://github.com/servo/servo/blob/master/Cargo.toml#L18-L34. I also ran into this problem recently trying to build something that relied on Servo, and I had to use a local path override for surfman-chains to modify https://github.com/asajeffrey/surfman-chains/blob/fab4596b7fda814ebbbf48aaa27e250bb693ad06/surfman-chains/Cargo.toml#L20 to point at the same specific git revision to make the build succeed. |
|
Thank you @jdm , works like magic |
|
@jdm Shouldn’t we eventually remove those surfman overrides? Either publish appropriate versions to crates.io, or switch everything to using git URLs in I feel there isn’t a good reason to land uses of |
|
@asajeffrey is in the best position to answer. |
|
@SimonSapin yes, those overrides should go away once layer management is in place. For the policy thing of should we ever use |
Servo itself builds. But not my project depending on libservo. For context, I'm trying to build it for the first time in a long time.. this possibly isn't a recently created situation/bug.
webrender_surfmanexpects surfman 0.2 things and finds surfman 0.1.4 things. This is because it's pulling in registry versions of surfman rather than git versions.... but that's what components/canvas/Cargo.toml is asking it to do. So I don't get how servo itself magically builds with the newer git versions instead.
The dependencies come out like this for me
Notice the version of surfman is coming from the registry, not git.
When servo itself builds with mach, however, it somehow pulls in the git version of surfman (which works):
How can I get the same behavior in my dependency... or should canvas's Cargo.toml be changed?
I've tried a lot of cargo update 'precise' attempts but I'm just not getting it.