Dear all, the last couple of weeks were quite busy for the python team. We added a new PYTHON2_DEFAULT_VERSION knob to define the default python2 version to use, moved the whole default version magic into the new bsd.default-version.mk, added new meta port versions (USE_PYTHON=2 or USE_PYTHON=3), added automatic plist support for distutils based ports as well as rm's plist replacement hack for non-distutils ports and moved the zope magic into an own USES file.
I'm currently trying to remove lang/python from the implicitly set BUILD_DEPENDS and RUN_DEPENDS in bsd.python.mk. This is required to a) properly detect ports using a wrong python version (e.g. using python, although they only support version X.Y) b) make bin/python and friends a user choice (where possible) c) avoid issues with pkg I'm testing each category and am fixing ports on the fly, when everything breaks. The removal will happen in two runs. In the first run, python:${PORTSDIR}/lang/python will be added as build or run dependency to the port, so we can remove the implicit dependency from bsd.python.mk. The second run will try to fix all ports using a wrong USE_PYTHON=X.Y version (e.g. "yes" or 2.6+ or ..., although only 2.7 or 3.2 are supported), so that we can add lang/python as implicit dependency for ports, which are truly version agnostic. Those can use USE_PYTHON=yes afterwards. Within that run, port maintainers also need to ensure that previously added lang/python dependencies are either removed again and replaced with the correct python version or that the ports are tested to ensure that they are version agnostic. Personally, I do not see an easier way to do this (without causing problems for users), since too many ports rely on python in one way or another and the majority of them only work with 2.7 (see http://people.freebsd.org/~mva/ for fixes that are the result of testing accessibility/, arabic/ and archivers/ and do the math for the whole tree yourself ;-). Once this is sorted out (hopefully in a couple of weeks), we can push important changes to bsd.python.mk and bsd.port.mk (after agreeing with portmrg@ about those) to enable package builds for different python versions. Cheers Marcus
pgpvVbOO7GvDD.pgp
Description: PGP signature