Skip to content

Upgrade artichoke dependency to latest trunk #606

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Aug 5, 2021
Merged

Conversation

lopopolo
Copy link
Member

@lopopolo lopopolo commented Aug 5, 2021

Upgrade the artichoke git dependency to the latest trunk commit: artichoke/artichoke@e7c4bd5.

This PR upgrades the Rust toolchain to 1.54.0 to match upstream Artichoke's toolchain. The emscripten toolchain is correspondingly bumped (see rust-lang/rust#85821).

This PR includes upstream changes to remove the bindgen build dependency, which removes some licenses from the allowed list in the cargo-deny configuration.

Artichoke only compiles with Rust 1.54.0. Rust 1.54.0 is based on LLVM
12 (rust-lang/rust#81451). To ensure the `emcc` compiled sources interop
with Rust code, it is important to use an `emsdk` version that is ~close
to when it was branched from LLVM 12.

According to the release notes [0], 2.0.23 - 05/26/2021 release is the
first to be based on LLVM 12.

However, Rust depends on a stubbed function in the emsdk c++ ABI that
was removed in 2.0.10. According to rust-lang/rust#85821, we might have
luck compiling with 2.0.9

[0]: https://emscripten.org/docs/introducing_emscripten/release_notes.html

emscripten-toolchain
@lopopolo lopopolo added the A-deps Area: Source and library dependencies. label Aug 5, 2021
@lopopolo
Copy link
Member Author

lopopolo commented Aug 5, 2021

This PR is blocked on artichoke/artichoke#1308.

@lopopolo lopopolo added the S-blocked Status: Marked as blocked ❌ on something else such as other implementation work. label Aug 5, 2021
@lopopolo lopopolo force-pushed the upgrade-artichoke branch from e62b8be to 8736408 Compare August 5, 2021 19:20
@lopopolo lopopolo removed the S-blocked Status: Marked as blocked ❌ on something else such as other implementation work. label Aug 5, 2021
@lopopolo lopopolo added the S-blocked Status: Marked as blocked ❌ on something else such as other implementation work. label Aug 5, 2021
@lopopolo
Copy link
Member Author

lopopolo commented Aug 5, 2021

Blocked on artichoke/artichoke#1309.

artichoke/artichoke@e7c4bd5

This upgrade bumps the MSRV to Rust 1.54.0 and includes an updated set
of emsdk headers for the artichoke-backend build to match the current
playground's emscripten toolchain.
@lopopolo
Copy link
Member Author

lopopolo commented Aug 5, 2021

Filed this bug upstream for a build warning due to a duplicate #define: mruby/mruby#5520

@lopopolo lopopolo force-pushed the upgrade-artichoke branch from 8736408 to 0366fc6 Compare August 5, 2021 21:18
@lopopolo
Copy link
Member Author

lopopolo commented Aug 5, 2021

Smoke test as of 0366fc6 and artichoke/artichoke@5b0b0e5 looks good!

Screen Shot 2021-08-05 at 2 17 25 PM

@lopopolo lopopolo added A-wasm-build-target Area: Support for wasm build targets. O-wasm-emscripten Target: Support for building the `wasm32-unknown-emscripten` target. and removed S-blocked Status: Marked as blocked ❌ on something else such as other implementation work. labels Aug 5, 2021
@lopopolo lopopolo merged commit b743cce into trunk Aug 5, 2021
@lopopolo lopopolo deleted the upgrade-artichoke branch August 5, 2021 21:36
@lopopolo lopopolo added the A-artichoke Area: Version bumps for Artichoke Ruby dependency. label Aug 5, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-artichoke Area: Version bumps for Artichoke Ruby dependency. A-deps Area: Source and library dependencies. A-wasm-build-target Area: Support for wasm build targets. O-wasm-emscripten Target: Support for building the `wasm32-unknown-emscripten` target.
Development

Successfully merging this pull request may close these issues.

1 participant