circuitpython-build-tools icon indicating copy to clipboard operation
circuitpython-build-tools copied to clipboard

Add circuitpython-mpy-cross command

Open jepler opened this issue 1 year ago • 1 comments

This adds the ability to (download or build, then) invoke any supported version of mpy-cross:

$ circuitpython-mpy-cross --circuitpython-version 8.x -- --version
CircuitPython 8.2.0 on 2023-07-05; mpy-cross emitting mpy v5-CircuitPython
$ circuitpython-mpy-cross --circuitpython-version 9.x -- --version
CircuitPython 9.0.0-alpha.2 on 2023-10-27; mpy-cross emitting mpy v6.1

The idea of having a download & run wrapper around mpy-cross originates with https://pypi.org/project/mpy-cross-multi/ but re-uses our existing infra for downloading or building mpy-cross as needed, instead of uploading binary artifacts to pypi.

This also improves how mpy-cross is downloaded or built: These activities happen in the user's "cache" directory (e.g., $HOME/.cache on Linux/Mac, some other folder on Windows)

this also enables sharing the copy of mpy-cross across multiple repos.

Testing performed:

  • with a pip install -e . of this library, just ran a local build of jepler_udecimal: circuitpython-build-bundles --filename_prefix jepler_udecimal --library_location .
  • invocation of mpy-cross above
  • building a "9.0.x" version locally on Linux

jepler avatar Jun 16 '24 16:06 jepler

once #111 is merged, it might be nice to make this enough smarter that it can munge before mpy-cross compiling.

jepler avatar Jun 17 '24 15:06 jepler

Thanks for testing! I'd forgotten this was out there.

jepler avatar Oct 08 '24 01:10 jepler