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
When testing a port for a non-default python py.test may fail to find
dependencies for default version because they weren't built e.g.,
$ make test PYTHON_VERSION=python3.5 -C devel/py-apscheduler
[...]
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/_pytest/config.py", line 319, in _importconftest
mod = conftestpath.pyimport()
File "/usr/local/lib/python3.5/site-packages/py/_path/local.py", line 650, in pyimport
__import__(modname)
File "/usr/ports/devel/py-apscheduler/work/APScheduler-3.2.0/tests/conftest.py", line 8, in <module>
from apscheduler.job import Job
File "/usr/ports/devel/py-apscheduler/work/APScheduler-3.2.0/apscheduler/job.py", line 4, in <module>
import six
ImportError: No module named 'six'
ERROR: could not load /usr/ports/devel/py-apscheduler/work/APScheduler-3.2.0/tests/conftest.py
Approved by: portmgr blanket
- Introduce new ports for the sqlalchemy 0.9 and 1.0 release branches.
- Deprecate the ports for the 0.6 and 0.7 release branches, as these
have been declared EoL and are no longer supported by upstream.
- Update to the latest available version in each branch.
In detail:
Port Version Maintainer
----------------------------------------------
py-sqlalchemy06 0.6.9 nivit@FreeBSD.org (Deprecate 2016-08-20) [1]
py-sqlalchemy07 0.7.10 nivit@FreeBSD.org (renamed py-sqlalchemy, Deprecate 2016-08-20) [1]
py-sqlalchemy08 0.8.7 nivit@FreeBSD.org (renamed py-sqlalchemy-devel) [1]
py-sqlalchemy09 0.9.10 m.tsatsenko@gmail.com (new, repocopy from py-sqlalchemy-devel) [2]
py-sqlalchemy10 1.0.13 m.tsatsenko@gmail.com (new, repocopy from py-sqlalchemy-devel) [2]
- Use options-helpers and option dependent make targets.
- Use autoplist for documents as well as python code
- Add all the docments to the packages: previously an arbitrary
subset was added in a way that excluded CSS, images and other HTML
assets.
- Use TEST_DEPENDS and add a TEST_TARGET instead of having a 'TEST'
option.
- Use py-pytest for 0.9.x and later, rather than py-nose.
- Add CONFLICTS_INSTALL between all of the py-sqlalchemyXY ports.
PR: 191442
Submitted by: robak
Reviewed by: robak
Reviewed by: pi
Approved by: nivit (maintainer timeout, ~300days) [1]
Approved by: m.tsatsenko@gmail.com (maintainer) [2]
Sponsored by: https://reviews.freebsd.org/D908