Add support for PyPy to USES+=python. This adds support for:
- specifying a port requires pypy (or cpython) specifically, and
- allows the user to specify a DEFAULTS=python=pypy2.7
The patch works as follows:
i) python versions refer to the language version, not the implementation version (for cpython it is the same thing, for pypy it differs)
ii) DEFAULTS and PYTHON_VERSION now require the implementation name (e.g. cpython2.7 or pypy2.7). python is an alias for cpython.
Todo:
e) Investigate all uses of PYTHON_VERSION in Ports (24 references remain)
Done:
a) add relevant pypy27-setuptools and pypy33-setuptools ports
c) add tests for DEFAULTS vs PYTHON_VERSION detection (a la lang/python, lang/python2 and lang/python3)
d) change default back to cpython
g) restrict PYTHON_VERSION to valid values only
h) check Python implementation is consistent
Follow up changes:
b) automatically map py-$PORTNAME to their pypy-$PORTNAME equivalents, if it exists
f) add pypy33 slave ports for pypy-(sqlite|gdbm|tkinter)
j) exp-run (with pypy as default)