# Contributor: Marian # Maintainer: Marian pkgname=micropython pkgver=1.14 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" # armv7: 17 unit tests fail, mostly viper related # armhf: fails to build # s390x: sporadic test failures: "2 tests failed: repl_cont uasyncio_heaplock" arch="all !ppc64le !armv7 !armhf !s390x" license="MIT" makedepends="libffi-dev python3" subpackages="$pkgname-cross" source="micropython-$pkgver.tar.gz::https://github.com/micropython/micropython/archive/v$pkgver.tar.gz micropython-1.9.4-prevent-stripping.patch no_ussl.patch no_legacy_berkeley_db.patch fix_clobbered_longjmp.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 # ffi callback fails on kernel with PaX rm tests/unix/ffi_callback.py make -C ports/unix test PYTHON=python3 } package() { mkdir -p "$pkgdir/usr/bin" install -m755 ports/unix/micropython "$pkgdir/usr/bin/micropython" } cross() { pkgdesc="Compile micropython code to bytecode, which can be transfered to MCUs" cd "$builddir" mkdir -p "$subpkgdir/usr/bin" install -m755 mpy-cross/mpy-cross "$subpkgdir/usr/bin/mpy-cross" } sha512sums="6a6a8fc0306e651aca81a67d09ca7bc4d94f655056ff76b09f8913e88daac30e5f74d486dd5ad8bd5ebdf81115cf1d88a9b21f118516352a5c8023fb44370792 micropython-1.14.tar.gz 8f994394f42d7fed5fa35b62c01c37ebea3b487c029d659134a263ef8d65e1ec17bec755fdf57cde2f234969bc4f7f4ab30858562d7f8cdb2bc6cb819ba2ae0d micropython-1.9.4-prevent-stripping.patch 9a6cd131c8875a9d320653b7b93d46a759eee3255e25763eb8de6934b3035f691e497eafc9412320f13c5921a384d42d6e60ea3eb3d65f3a6101dae9be514f3c no_ussl.patch e86ad02ef746605f2f685ae776a6ad6ea39ae6e57fa0869a0c03895fd581647de20fa7e6aaeebac45e7302a63451d625208b1356ee2f35a66df70ac2755a25ff no_legacy_berkeley_db.patch a326877348391e1d87ec6209274dd68de3775fd64d209a2ac7f13ce860e74255107a0fbe5fa555eda5a28885d9b8ce7886d9f2012242ec6da83fac464bbc6706 fix_clobbered_longjmp.patch"