HomeFreeBSD

Convert Python ports to FLAVORS.

Description

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

Details

Provenance
matAuthored on
Differential Revision
D12464: Python FLAVORS
Parents
rP455209: MFH: r455208
Branches
Unknown
Tags
Unknown

Very Large Commit

This commit is very large, and affects more than 2000 files. Changes are not shown.