Closed Bug 1336607 Opened 8 years ago Closed 8 years ago

Vendor servo's rust dependencies

Categories

(Firefox Build System :: General, defect)

defect
Not set
normal

Tracking

(firefox54 fixed)

RESOLVED FIXED
mozilla54
Tracking Status
firefox54 --- fixed

People

(Reporter: gps, Assigned: gps)

References

(Depends on 1 open bug)

Details

Attachments

(2 files)

When Servo landed in bug 1322769, I avoided the task of vendoring all of Servo's Rust dependencies. I did this by moving the dummy geckolib to toolkit/library/geckolib and updating toolkit/library/rust/shared/Cargo.toml to point to that path instead of servo/ports/geckolib. This was done in https://hg.mozilla.org/integration/autoland/rev/f49a72bc7aed912d7cbb546ac5bab19f46b38969. This means that `cargo update` and `cargo vendor` won't pick up Servo's dependencies. So, when this is merged to the stylo repo, -stylo builds will stop working there. The next merge to the stylo repo will need to revert the change to toolkit/library/rust/shared/Cargo.toml so it picks up the real geckolib. Anyway, this bug is about undoing the hack, using the real geckolib, and getting Servo's Rust dependencies vendored into mozilla-central. That involves a license review, etc. Vendoring these dependencies is a blocker to running -stylo automation outside of the stylo repo. I don't plan on doing this work and defer to a Stylo developer on the urgency of this.
Per IRC convo with bholley, I'll do this and flag froydnj and Manishearth for review.
Assignee: nobody → gps
Status: NEW → ASSIGNED
Depends on: 1336655
Comment on attachment 8833557 [details] Bug 1336607 - Vendor Rust dependencies required by geckolib; https://reviewboard.mozilla.org/r/109774/#review110834 Changes to toolkit/library look good. the crates being vendored look correct too, but I didn't actually go through the third_party code.
Attachment #8833557 - Flags: review?(manishearth) → review+
Attachment #8833560 - Flags: review?(nfroyd) → review+
Comment on attachment 8833557 [details] Bug 1336607 - Vendor Rust dependencies required by geckolib; https://reviewboard.mozilla.org/r/109774/#review112094 I wish we could go through and eliminate some of these crates, but meh. I skimmed over the licenses and there's nothing too objectionable relative to `about:license`. IANAL, of course, but as we're not shipping this yet, I don't think we have to worry about it at this point.
Attachment #8833557 - Flags: review?(nfroyd) → review+
We should either have someone do a detailed review of the added crates, or file a bug to blanket-review everything in `third_party/rust` prior to setting up a hook to require special review for vendored crates (as I proposed in bug 1322798).
We can eliminate some of these crates; e.g. we don't need serde_json but libloading uses it for a fallback that we don't need (https://github.com/servo/rust-bindgen/issues/499). xdg is a Servo dependency from servo_config that we don't need either (filed https://github.com/servo/servo/issues/15460).
Okay, Mozreview is just having issues in general. Patches at https://github.com/Manishearth/gecko-dev/tree/vendoring
Try passed for non-stylo builds. Stylo currently is failing due to a sync asymmetry which should resolve itself when boris' Servo PR lands.
Pushed by gszorc@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/a621ec4ab74b Switch geckolib off dummy folder, update lockfiles; r=gps https://hg.mozilla.org/integration/autoland/rev/b92f6949d704 Update vendored Rust sources to include geckolib dependencies; r=froydnj https://hg.mozilla.org/integration/autoland/rev/4db2b9c21878 Remove dummy geckolib and taskgraph filter; r=froydnj
Pushed by gszorc@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/d2ec43037c70 Fix lint failure on a CLOSED TREE; a=¯\_(ツ)_/¯
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: