Files
ports/lang/micropython/Makefile
T
Xin LI 6c608356b6 lang/micropython: upgrade to 1.28.0
- Add mbedtls and micropython-lib submodules via GH_TUPLE
 - Use POSIX semaphores for mp_thread_mutex_t to fix cross-thread unlock
   on FreeBSD (PTHREAD_MUTEX_ERRORCHECK rejects non-owner unlock with EPERM)
 - Remove -Werror from mpy-cross and unix port Makefiles
 - Fix select_poll_fd test: FreeBSD poll(2) checks kern.maxfilesperproc
   (not RLIMIT_NOFILE), so print SKIP instead of assert False when 6000
   fds do not trigger EINVAL
 - Update ffi test patches for FreeBSD libc.so.7
 - Compile ffi_lib.so in pre-test for ffi_int_* tests
2026-05-18 21:53:57 -07:00

59 lines
1.7 KiB
Makefile

PORTNAME= micropython
PORTVERSION= 1.28.0
DISTVERSIONPREFIX= v
CATEGORIES= lang python
MAINTAINER= python@FreeBSD.org
COMMENT= Implementation of the Python language for microcontrollers
WWW= https://www.micropython.org/
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
BROKEN_armv6= fails to assemble: error: invalid operand for instruction
BROKEN_armv7= fails to assemble: error: invalid operand for instruction
LIB_DEPENDS= libffi.so:devel/libffi
USES= gmake pkgconfig python:,build
USE_GCC= yes
USE_GITHUB= yes
GH_TUPLE= micropython:axtls:531cab9:axtls \
micropython:berkeley-db-1.xx:0f3bb69:bdb \
ARMmbed:mbedtls:107ea89:mbedtls \
micropython:micropython-lib:8380c7b:mpylib
MAKE_ARGS+= CC=${CC} CPP="${CC} -E" V=1
MAKE_ENV+= CFLAGS_EXTRA="${CPPFLAGS} ${CFLAGS} -Wno-float-conversion" COPT=""
# With aarch64 (QEMU) the float_parse and the float_parse_doubleprec tests
# fail as they give a different output.
TEST_TARGET= test
BINARY_ALIAS= python3=${PYTHON_CMD}
BUILD_WRKSRC= ${WRKSRC}/ports/unix
TEST_WRKSRC= ${WRKSRC}/ports/unix
PLIST_FILES= bin/micropython
post-extract:
@${RM} -r ${WRKSRC}/lib/axtls ${WRKSRC}/lib/berkeley-db-1.xx ${WRKSRC}/lib/mbedtls \
${WRKSRC}/lib/micropython-lib
@${RLN} ${WRKSRC_axtls} ${WRKSRC}/lib/axtls
@${RLN} ${WRKSRC_bdb} ${WRKSRC}/lib/berkeley-db-1.xx
@${RLN} ${WRKSRC_mbedtls} ${WRKSRC}/lib/mbedtls
@${RLN} ${WRKSRC_mpylib} ${WRKSRC}/lib/micropython-lib
post-patch:
${CP} ${FILESDIR}/mpthreadport.h ${WRKSRC}/mpy-cross/
pre-test:
${CC} -shared -o ${WRKSRC}/tests/ports/unix/ffi_lib.so \
${WRKSRC}/tests/ports/unix/ffi_lib.c
do-install:
${INSTALL_PROGRAM} ${BUILD_WRKSRC}/build-standard/micropython ${STAGEDIR}${PREFIX}/bin
.include <bsd.port.mk>