mirror of
https://git.freebsd.org/ports.git
synced 2025-05-29 09:26:27 -04:00
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
78 lines
2 KiB
Makefile
78 lines
2 KiB
Makefile
# Created by: Nicola Vitale <nivit@FreeBSD.org>
|
|
# $FreeBSD$
|
|
|
|
PORTNAME= Jinja2
|
|
PORTVERSION= 2.10
|
|
CATEGORIES= devel python
|
|
MASTER_SITES= CHEESESHOP
|
|
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
|
|
PKGNAMESUFFIX?=
|
|
|
|
MAINTAINER= nivit@FreeBSD.org
|
|
COMMENT?= Fast and easy to use stand-alone template engine
|
|
|
|
LICENSE= BSD3CLAUSE
|
|
LICENSE_FILE= ${WRKSRC}/LICENSE
|
|
|
|
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}MarkupSafe>=0.23:textproc/py-MarkupSafe@${FLAVOR}
|
|
TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}MarkupSafe>=0.23:textproc/py-MarkupSafe@${FLAVOR}
|
|
|
|
NO_ARCH= yes
|
|
USES= python
|
|
.if empty(PKGNAMESUFFIX)
|
|
USE_PYTHON= autoplist distutils
|
|
.endif
|
|
.if ${PKGNAMESUFFIX} == -doc
|
|
USE_PYTHON= flavors
|
|
.endif
|
|
|
|
EXAMPLESDIR= ${PREFIX}/share/examples/${PKGNAMEPREFIX}${PORTNAME}
|
|
|
|
OPTIONS_DEFINE?= BABEL EXAMPLES
|
|
OPTIONS_DEFAULT?= BABEL
|
|
BABEL_DESC= Enable Babel extension
|
|
|
|
BABEL_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}Babel>=1.3:devel/py-babel@${FLAVOR}
|
|
|
|
PY2TO3_CMD= ${LOCALBASE}/bin/2to3-${PYTHON_VER}
|
|
PY2TO3_ARGS= --fix=all --no-diffs --nobackups --verbose --write
|
|
|
|
.include <bsd.port.pre.mk>
|
|
|
|
.if ${PKGNAMESUFFIX} == "-doc"
|
|
BUILD_DEPENDS+= ${PKGNAMEPREFIX}sphinx>=1.1.3:textproc/py-sphinx@${FLAVOR}
|
|
DOCSDIR= ${PREFIX}/share/doc/${PKGNAMEPREFIX}${PORTNAME}
|
|
PORTDOCS= *
|
|
PORT_OPTIONS:= ${PORT_OPTIONS:NEXAMPLES}
|
|
|
|
do-build:
|
|
(cd ${WRKSRC}/docs && ${MAKE} SPHINXBUILD=sphinx-build-${PYTHON_VER} html)
|
|
|
|
do-install:
|
|
@${MKDIR} ${STAGEDIR}${DOCSDIR}
|
|
(cd ${WRKSRC}/docs/_build/html && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR} \
|
|
"! -name .buildinfo")
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MEXAMPLES}
|
|
PORTEXAMPLES= *
|
|
post-build:
|
|
. if ${PYTHON_REL} >= 3000
|
|
${PY2TO3_CMD} ${PY2TO3_ARGS} ${WRKSRC}/examples
|
|
. endif
|
|
${PYTHON_CMD} -m compileall ${WRKSRC}/examples ; \
|
|
${PYTHON_CMD} -O -m compileall ${WRKSRC}/examples
|
|
|
|
post-install:
|
|
@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
|
|
(cd ${WRKSRC}/examples && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR})
|
|
.endif
|
|
|
|
check regression-test test: build
|
|
.if empty(PKGNAMESUFFIX)
|
|
@cd ${WRKSRC} && ${PYTHON_CMD} ${PYSETUP} test
|
|
.else
|
|
@${DO_NADA}
|
|
.endif
|
|
|
|
.include <bsd.port.post.mk>
|