freebsd-ports/lang/micropython/Makefile
Mathieu Arnold 551be3c723 Convert Python ports to FLAVORS.
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
2017-11-30 15:50:30 +00:00

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>