Skip to content

pyodide build option to install emscripten, rust etc. automatically #3287

@joemarshall

Description

@joemarshall

🚀 Feature

pyodide build right now auto-installs pyodide distribution, but still needs emsdk to build any binary wheels. It also needs rustup / cargo installed correctly with the right settings to nicely build things that have rust involved.

It would be nice if when emsdk wasn't found on path, or when it needs rust / cargo, it auto-installs it somehow.

Motivation

For out-of-tree builds, it is a pain having to install the right emsdk version & correct rust things each time you setup a dev environment. I imagine as more things get supported (e.g. when fortran for wasm finally happens and scipy builds with it), yet more things will be required for out of tree build to work nicely.

Pitch

  1. On building a project, if emsdk isn't found, or emscripten is the wrong version, it should show a prompt asking you to install emsdk or point at existing emsdk, and let you choose location.

  2. If a project has rust files, it should prompt you to install rustup/cargo.

  3. There should be a command line parameter of some kind to set auto-install tools into a particular directory (or conversely to disable auto-install of tools)

Additional context

I built pyrus_cramjam which includes rust as an out of tree build, and it was a bit of a pain working out what I needed to make it work.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions