diff options
Diffstat (limited to 'dev-lang/micropython')
| -rw-r--r-- | dev-lang/micropython/Manifest | 1 | ||||
| -rw-r--r-- | dev-lang/micropython/micropython-1.25.0.ebuild | 69 |
2 files changed, 70 insertions, 0 deletions
diff --git a/dev-lang/micropython/Manifest b/dev-lang/micropython/Manifest index 7f6857c39611..c5d4867b2d7b 100644 --- a/dev-lang/micropython/Manifest +++ b/dev-lang/micropython/Manifest @@ -1 +1,2 @@ DIST micropython-1.23.0.tar.xz 85748224 BLAKE2B 3fca138bbe9a676c671812625ac374e82c3c91bb41db32557747ea4d28941de92be80bbf2e642f9094427dbcf6ee285c63ddad66510287074edb716017599384 SHA512 16f065bbbed1469587597193e7131ed9278ca2b22c8614098b5c79060f853db2a5a38ffe85688126cee86a5cb110d74840f50be4b009a687d7d310b54de2b2b5 +DIST micropython-1.25.0.tar.xz 109072312 BLAKE2B ac72d26fc2550bc7411749ba36d67a9cdc8d712c1a9789fd8ff162c651217b2e2417edbec0063285a982dc3f42955a3a324acc6fcb7e8e463f6fe5f47032fbbb SHA512 c20b2357d7bfda3bafbff73e7c991db14c2aa5041a3caa8f4c2e092e54f6b15953c3aa2f67129e7271efda180b69ebe8609101fce5f569d8470af900be560935 diff --git a/dev-lang/micropython/micropython-1.25.0.ebuild b/dev-lang/micropython/micropython-1.25.0.ebuild new file mode 100644 index 000000000000..6d370c6a9a3d --- /dev/null +++ b/dev-lang/micropython/micropython-1.25.0.ebuild @@ -0,0 +1,69 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..13} ) + +inherit toolchain-funcs python-any-r1 + +DESCRIPTION="Python implementation for microcontrollers" +HOMEPAGE="https://micropython.org https://github.com/micropython/micropython" +SRC_URI="https://micropython.org/resources/source/${P}.tar.xz" + +LICENSE="Apache-2.0 BSD BSD-1 BSD-4 GPL-2 GPL-2+ ISC LGPL-3 MIT OFL-1.1 ZLIB" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +DEPEND=" + dev-libs/libffi:= + virtual/pkgconfig + ${PYTHON_DEPS} +" + +src_prepare() { + default + + # Both ports/unix and mpy-cross need their Makefile changed. + # 1) don't die on compiler warning + # 2) remove /usr/local prefix references in favour of /usr + # 3) enforce our CFLAGS (Only change the first `CFLAGS +=`) + # 4) enforce our LDFLAGS (Only change the first `LDFLAGS +=`) + sed -e 's#-Werror##g;' \ + -e "s#/usr/local#${EPREFIX}#g" \ + -e "0,/^CFLAGS +=/{s#^CFLAGS += \(.*\)#CFLAGS += \1 ${CFLAGS}#g}" \ + -e "0,/^LDFLAGS +=/{s#^LDFLAGS += \(.*\)#LDFLAGS += \1 ${LDFLAGS}#g}" \ + -i ports/unix/Makefile mpy-cross/Makefile || die "can't patch Makefile" +} + +src_compile() { + # Build the cross-compiler first. Build fails without this. + einfo "" + einfo "Building the mpy-crosscompiler." + einfo "" + emake V=1 -C mpy-cross CC="$(tc-getCC)" + + # Finally, build the unix port. + einfo "" + einfo "Building the micropython unix port." + einfo "" + # Empty `STRIP=` leaves symbols + debug info intact. Let portage handle it. + # https://github.com/micropython/micropython/tree/master/ports/unix/README.md + emake V=1 -C ports/unix CC="$(tc-getCC)" STRIP= +} + +src_test() { + emake V=1 -C ports/unix CC="$(tc-getCC)" test +} + +src_install() { + emake V=1 -C ports/unix CC="$(tc-getCC)" DESTDIR="${D}" install + + # remove .git files + find tools -type f -name '.git*' -delete || die + + dodoc -r tools + einstalldocs +} |
