Ports using USE_PYTHON=distutils are now flavored. They will automatically get flavors (py27, py34, py35, py36) depending on what versions they support. There is also a USE_PYTHON=flavors for ports that do not use distutils but need FLAVORS to be set. A USE_PYTHON=noflavors can be set if using distutils but flavors are not wanted. A new USE_PYTHON=optsuffix that will add PYTHON_PKGNAMESUFFIX has been added to cope with Python ports that did not have the Python PKGNAMEPREFIX but are flavored. USES=python now also exports a PY_FLAVOR variable that contains the current python flavor. It can be used in dependency lines when the port itself is not python flavored. For example, deskutils/calibre. By default, all the flavors are generated. To only generate flavors for the versions in PYTHON2_DEFAULT and PYTHON3_DEFAULT, define BUILD_DEFAULT_PYTHON_FLAVORS in your make.conf. In all the ports with Python dependencies, the *_DEPENDS entries MUST end with the flavor so that the framework knows which to build/use. This is done by appending '@${PY_FLAVOR}' after the origin (or @${FLAVOR} if in a Python module with Python flavors, as the content will be the same). For example: RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}six>0:devel/py-six@${PY_FLAVOR} PR: 223071 Reviewed by: portmgr, python Sponsored by: Absolight Differential Revision: https://reviews.freebsd.org/D12464
50 lines
1.3 KiB
Makefile
50 lines
1.3 KiB
Makefile
# $FreeBSD$
|
|
|
|
PORTNAME= micropython
|
|
PORTVERSION= 1.5.1
|
|
DISTVERSIONPREFIX= v
|
|
PORTREVISION= 2
|
|
CATEGORIES= lang python
|
|
|
|
MAINTAINER= ports@FreeBSD.org
|
|
COMMENT= Implementation of the Python language for microcontrollers
|
|
|
|
LICENSE= MIT
|
|
|
|
LIB_DEPENDS= libffi.so:devel/libffi
|
|
|
|
USES= gmake pkgconfig python:3.4+,build readline shebangfix
|
|
|
|
USE_GITHUB= yes
|
|
|
|
PLIST_FILES= bin/micropython
|
|
|
|
BROKEN_armv6= fails to assemble: error: invalid operand for instruction
|
|
BROKEN_armv7= fails to assemble: error: invalid operand for instruction
|
|
|
|
WRKSRC_SUBDIR= unix
|
|
|
|
SHEBANG_FILES= ../tools/make-frozen.py
|
|
MAKE_ARGS+= V=1
|
|
MAKE_ENV+= PYTHON=${PYTHON_CMD} CFLAGS_EXTRA="${CPPFLAGS} ${CFLAGS}"
|
|
TEST_TARGET= test
|
|
|
|
post-patch:
|
|
@${REINPLACE_CMD} -e 's|-Werror||;/^COPT =/d; \
|
|
s|ls -1 -v|ls -1|' ${WRKSRC}/Makefile
|
|
@${REINPLACE_CMD} -e 's|re_exec|mp_re_exec|' \
|
|
${WRKSRC}/../extmod/modure.c
|
|
@${REINPLACE_CMD} -e 's|AS =|AS ?=|;s|LD =|LD ?=|; \
|
|
s|CC =|CC ?=|;s|PYTHON =|PYTHON ?=|' \
|
|
${WRKSRC}/../py/mkenv.mk
|
|
@${REINPLACE_CMD} -e 's|libc\.so\.6|libc\.so\.7|;' \
|
|
${WRKSRC}/../tests/unix/ffi_callback.py \
|
|
${WRKSRC}/../tests/unix/ffi_float.py
|
|
|
|
do-install:
|
|
${INSTALL_PROGRAM} ${WRKSRC}/micropython ${STAGEDIR}${PREFIX}/bin
|
|
|
|
pre-test:
|
|
@${RM} ${WRKSRC}/../tests/basics/memoryerror.py
|
|
|
|
.include <bsd.port.mk>
|