# Contributor: Marian <marian.buschsieweke@ovgu.de>
# Maintainer: Marian <marian.buschsieweke@ovgu.de>
setvar pkgname = 'micropython'
setvar pkgver = '1.9.1'
setvar pkgrel = '2'
setvar pkgdesc = ""A lean and efficient Python implementation for MCUs and constrained systems""
setvar url = ""http://www.micropython.org/""

# ../py/persistentcode.c:397:2: error: #error mp_raw_code_save_file not implemented for this platform
setvar arch = ""x86 x86_64 armhf""

setvar license = ""MIT""
setvar depends = """"
setvar makedepends = ""libffi-dev python3""
setvar subpackages = ""$pkgname-cross""
setvar source = ""${pkgname}-${pkgver}.tar.gz::https://github.com/${pkgname}/${pkgname}/archive/v${pkgver}.tar.gz
        0000-unix-mpconfigport.patch
	python3.patch
	""
setvar builddir = ""${srcdir}/${pkgname}-${pkgver}""

proc build {
	cd $builddir
	make -C unix PYTHON=python3
}

proc check {
	cd $builddir

	# ffi callback fails on kernel with PaX
	rm tests/unix/ffi_callback.py

	make -C unix test PYTHON=python3
}

proc package {
	cd $builddir
	mkdir -p "${pkgdir}/usr/bin"
	install -m755 unix/micropython "${pkgdir}/usr/bin/micropython"
}

proc cross {
	setvar 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"
}

setvar sha512sums = ""bc0eeb1e6d821034b7157613f2d421df304f2959e9fd62d2886641eba8d74575787861c9ff46fc3bcb9c14c6ad1f698043231801207f946af9b5d302bb253c63  micropython-1.9.1.tar.gz
a9f922627db7cb59f56798f850c024382adffa1d1b5ccc27597ae34a9be53983a573e6dab64db4376ab24733624ad2005e67d96265517fb303d5b56f1b2654ea  0000-unix-mpconfigport.patch
66ca172a6e9f4866e733e6c9303882dbb5f5729ffc685e0ba200010bacb8d5014527efd82da4c2ab62266e0816917758ae8e6089fb575ec31c3dc4441909343f  python3.patch""