Package: wnpp Severity: wishlist * Package name : micropython Version : 1.10 Upstream Author : Damien George <dp...@cam.ac.uk> and others * URL : https://github.com/micropython/micropython#the-unix-version * License : MIT Programming Lang: C, Assembly, Python Description : Unix/Linux port of MicroPython for board-independent use on the host
The Unix port of MicroPython allows testing of programs intended for microcontrollers on the local Debian host machine (except for hardware-specific parts). It can also be used as another, tiny but mostly compatible, Python 3 runtime for small scripts (but it comes with FFI and JNI support). This port uses optimised assembly code on ARM/Thumb, MIPS, i386 and amd64, and setjmp/longjmp-based fallback code on all other architectures. Notes to porters: • this needs excessie Makefile patching (e.g. to not hardcode the path to OpenJDK 7 on AMD64) • it seems to aggregate submodules for some dependencies (which we can do with the multiple-origtgz feature of dpkg), but care MUST be taken to use system libraries whereever possible • licence review of course must take those extra modules into account (“MIT” is what the main repo declares); readline support means all dependencies likely must be GPLv3-compatible • enable as many features as we can, but if it’s too hard, start out with a reduced set (e.g. no JNI?) • I fully expect this to work on all architectures, even m68k and x32 (which is tricky because it’s often autodetected as amd64 but cannot use the amd64 JIT code, I just checked asmx64.c to see that) • if nobody is working on this, I might do it myself, under the Teckids Debian Taskforce umbrella, which might mean comaintainers • this is distinct from firmware-microbit-micropython whose origtgz content completely differs (fork of micropython?) but I’ll Cc its maintainers anyway • the same origtgz MIGHT be used to build multiple binary packages; perhaps not the microbit one, but definitely the javascript one (which uses emscripten) and perhaps {bare,qemu}-arm; the unix port also builds a FreeDOS/djgpp binary if desired, but this should be considered afterwards, first get the native host unix port done