# Contributor: Marian # Maintainer: Marian pkgname=micropython pkgver=1.21.0 pkgrel=0 pkgdesc="lean and efficient Python implementation for MCUs and constrained systems" url="https://www.micropython.org/" # ppc64le: mpy-cross fails to compile with "unsupported relocation type 4 & 5" # armhf: fails to build due to "error compiling argparse.py" arch="all !ppc64le !armhf" license="MIT" makedepends="libffi-dev python3" subpackages="$pkgname-cross" source="https://github.com/micropython/micropython/releases/download/v$pkgver/micropython-$pkgver.tar.xz micropython-1.9.4-prevent-stripping.patch no_ssl.patch no_legacy_berkeley_db.patch no-werror.patch " build() { make -C mpy-cross PYTHON=python3 make -C ports/unix PYTHON=python3 } check() { # float rounding fails https://github.com/micropython/micropython/issues/4176 case "$CARCH" in s390x) rm tests/float/float_parse.py tests/float/float_parse_doubleprec.py ;; aarch64) rm tests/float/float_parse.py tests/float/float_parse_doubleprec.py ;; esac make -C ports/unix test PYTHON=python3 } package() { install -Dm755 -t "$pkgdir"/usr/bin \ ports/unix/build-standard/micropython \ mpy-cross/build/mpy-cross } cross() { pkgdesc="Compile micropython code to bytecode, which can be transfered to MCUs" amove usr/bin/mpy-cross } sha512sums=" 219eb1264378bbcdfe8fce9f2b41a4eb081deb0dbf7ad14420595358e6e785b5926acf04fac92744b8fc1e3a4e5e1c5a65d6aff5083a1fadf5c33b16212ad8f4 micropython-1.21.0.tar.xz 47f4923b1901bf0c8c90a15fe7188ae5c07d4c451d129c271d52d9449ac6094bf7183d5c4dc9cb38d5d5b4bf6944a715b7a3377575e9bc92bee16801d8088436 micropython-1.9.4-prevent-stripping.patch 6e13449a4d273538d9d752de88a292ff15ef035ca55abc8c5ee4b396d3088c292f059e59a9b17594d02393a0deb28f309d6fde057ba9c2bd91e58b99f55d7c97 no_ssl.patch e86ad02ef746605f2f685ae776a6ad6ea39ae6e57fa0869a0c03895fd581647de20fa7e6aaeebac45e7302a63451d625208b1356ee2f35a66df70ac2755a25ff no_legacy_berkeley_db.patch 99a021dc8fe8f7cd26455e9e7610e36bfb3c01182b42855a6cc3453dea29ea25fe622c3d722a71f973a1382446f6434260cc2a986d92895e187e784c57069b31 no-werror.patch "