commit:     04d466f4878dffacd99accdfc59c006b1842db72
Author:     Daniella Kicsak <nosqrt <AT> outlook <DOT> com>
AuthorDate: Sun Mar  9 08:55:46 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Jun 13 00:08:30 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=04d466f4

dev-lang/micropython: add 1.25.0

Closes: https://bugs.gentoo.org/829564
Closes: https://bugs.gentoo.org/859286
Closes: https://bugs.gentoo.org/859289
Closes: https://bugs.gentoo.org/908985
Closes: https://bugs.gentoo.org/930517
Closes: https://bugs.gentoo.org/936121
Closes: https://bugs.gentoo.org/940699
Closes: https://bugs.gentoo.org/951159
Signed-off-by: Daniella Kicsak <nosqrt <AT> outlook.com>
Part-of: https://github.com/gentoo/gentoo/pull/40972
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-lang/micropython/Manifest                  |  1 +
 dev-lang/micropython/micropython-1.25.0.ebuild | 69 ++++++++++++++++++++++++++
 2 files changed, 70 insertions(+)

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
+}

Reply via email to