74 lines
2.7 KiB
Plaintext

# Contributor: Marian <marian.buschsieweke@posteo.net>
# Maintainer: Marian <marian.buschsieweke@posteo.net>
pkgname=micropython
pkgver=1.23.0
_mpy_lib_ver=1.23.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="
$pkgname-$pkgver.tar.gz::https://github.com/micropython/micropython/archive/refs/tags/v$pkgver.tar.gz
micropython-lib-$_mpy_lib_ver.tar.gz::https://github.com/micropython/micropython-lib/archive/refs/tags/v$_mpy_lib_ver.tar.gz
micropython-1.9.4-prevent-stripping.patch
no_ssl.patch
no_legacy_berkeley_db.patch
no-werror.patch
"
prepare() {
default_prepare
rmdir lib/micropython-lib
ln -s ../../micropython-lib-$_mpy_lib_ver lib/micropython-lib
}
build() {
make -C mpy-cross PYTHON=python3
make -C ports/unix PYTHON=python3
}
check() {
# Likely caused by float rounding not being super precise. For aarch64
# this was tracked and closed under:
# https://github.com/micropython/micropython/issues/4176
case "$CARCH" in
aarch64|riscv64|s390x|loongarch64)
rm tests/float/float_parse.py tests/float/float_parse_doubleprec.py
;;
esac
# Needed for tests/extmod/select_poll_fd.py to
# pass (see comment in that file for more info)
ulimit -n 1024
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="
c07ecd1552428e3293eb20973cb447f6e08d5b153f1339eb5d4faf0400c66e0ab5c4d5728fd7bfa15585c6eb92ca26d96c72ea42c6bb3762ef272921a1c5cdd7 micropython-1.23.0.tar.gz
7bafe9997d3ec7537eb8d21993407ab25944c0383a26e47f8a96049b5aa01a09bffac5213899675d89a361e9ebf1f5d210081bfe66ee04a9316049807bf65a36 micropython-lib-1.23.0.tar.gz
47f4923b1901bf0c8c90a15fe7188ae5c07d4c451d129c271d52d9449ac6094bf7183d5c4dc9cb38d5d5b4bf6944a715b7a3377575e9bc92bee16801d8088436 micropython-1.9.4-prevent-stripping.patch
6e13449a4d273538d9d752de88a292ff15ef035ca55abc8c5ee4b396d3088c292f059e59a9b17594d02393a0deb28f309d6fde057ba9c2bd91e58b99f55d7c97 no_ssl.patch
e86ad02ef746605f2f685ae776a6ad6ea39ae6e57fa0869a0c03895fd581647de20fa7e6aaeebac45e7302a63451d625208b1356ee2f35a66df70ac2755a25ff no_legacy_berkeley_db.patch
99a021dc8fe8f7cd26455e9e7610e36bfb3c01182b42855a6cc3453dea29ea25fe622c3d722a71f973a1382446f6434260cc2a986d92895e187e784c57069b31 no-werror.patch
"