Reason:
Ports using Python via USES=python are now flavored. All the py3-* ports
have been removed and folded into their py-* master ports.
People using Poudriere 3.2+ and binary packages do not have to do anything.
For other people, to build the Python 3.6 version of, for example,
databases/py-gdbm, you need to run:
# make FLAVOR=py36 install

2014-03-07

Affects: users of devel/py-setuptools dependent ports

Author: sunpoet@FreeBSD.org

Reason:
devel/py-setuptools is being used for every python ports (if USE_PYDISTUTILS
defined) since r336553. Due to PKGORIGIN limitation, we cannot build one
python port with python27 and the other with python33 since they require
different setuptools versions which have same PKGORIGIN. With the addition
of py-setuptools{27,32,33}, we could now have py27-foo and py33-bar coexist
in one system.
Note that this is only a short-term solution. It does not help if you need
coexistence of one port with different python versions, e.g. py27-foo and
py33-foo.
Please rebuild all ports that depend on devel/py-setuptools and use
devel/py-setuptools{27,32,33} instead.
XX represents python version (27, 32 or 33) in the following steps.
pkgng users:
# pkg set -o devel/py-setuptools:devel/py-setuptoolsXX
portmaster users:
# portmaster -o devel/py-setuptoolsXX devel/py-setuptools
# portmaster -r py\*setuptools
portupgrade users:
# portupgrade -o devel/py-setuptoolsXX -f devel/py-setuptools
# portupgrade -fr devel/py-setuptools

Switch all pypi.python.org WWWs to a new PyPi home pypi.org where
they now redirect to anyway. All new urls checked to return 200,
I've fixed a couple of them in the process.
Approved by: portmgr blanket, mat

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

Use setuptools for all Python ports.
Setuptools is the preferred method to manage Python distributions after
many changes to the packaging ecosystem over the past couple of years.
Only ports using USE_PYDISTUTILS= yes are affected by this commit, ports using
USE_PYDISTUTILS= easy_install remains the same however this usage is now
deprecated and should be converted to USE_PYDISTUTILS= yes.
Some Python distributions do not work with setuptools out of the box because
they extend the install command from distutils and not setuptools, and
so they need to be patched accordingly.
pip (which leverages setuptools) works around the issue by using eggs, however
we want to get rid of those as well, as support for "flat" installation is

- Make Python 2.5.1 the default Python version
- Add significantly better support in bsd.python.mk for working with
Python Eggs and the easy_install system
Tested by: pointyhat runs
Approved by: pav (portmgr)
Most work by: perky
Thanks to: pav

Setuptools is a collection of enhancements to the Python distutils (for Python
2.3.5 and up on most platforms; 64-bit platforms require a minimum of Python
2.4) that allow you to more easily build and distribute Python packages,
especially ones that have dependencies on other packages.
PR: ports/89352
Submitted by: Jose Alonso Cardenas Marquez <acardenas@bsd.org.pe>