Set IUSE in EAPI >=4.
Rename _parse_PYTHON_DEPEND() to _python_parse_PYTHON_DEPEND() and unset it after its using.
Ban NEED_PYTHON variable.
Add python_abi_depend().
Fix exporting of python_pkg_setup() in EAPI >=4.
Update and improve _python_calculate_PYTHON_ABIS().
Support EAPI="0" in python_get_implementational_package().
Use non-deprecated parts of python_mod_optimize() and python_mod_cleanup() for dev-lang/python and sys-apps/portage.
Disallow not passing of paths to Python modules to python_mod_optimize() and python_mod_cleanup().
Fix a typo in python_mod_optimize().
Ban python_mod_compile().

Fix preservation of whitespace in python_execute_function(), python_execute_nosetests(), python_execute_py.test() and python_execute_trial().
Support --allow-evaluated-non-sitedir-paths option in python_mod_optimize() and python_mod_cleanup().

Deprecate NEED_PYTHON variable.
Require python_pkg_setup() in EAPI >=4.
Ensure that sanity checks in python_pkg_setup() and python_set_active_version() are performed for binary packages.
Improve handling of arguments in some functions.
Support flags specific to given Python ABIs.
Improve sanity checks in some functions.
Improve error messages in some functions.
Support --base-path option in python_get_includedir(), python_get_libdir(), python_get_sitedir() and python_get_library().
Allow multiple paths in argument of --PYTHONPATH option of python_execute_nosetests(), python_execute_py.test() and python_execute_trial().
Simplify python_mod_optimize() and python_mod_cleanup() in EAPI >=4.
Clean unneeded code in python_version(), python_mod_exists() and python_tkinter_exists().

Set GENTOO_PYTHON_PROCESS_NAME environmental variable in wrapper scripts generated by python_generate_wrapper_scripts(), because Python process now unsets this variable at the beginning of execution of wrapper scripts, but this variable should be set also at the beginning of execution of target scripts.

Ensure that python_pkg_setup() is used only in pkg_setup().
Improve handling of PYTHON_USE_WITH / PYTHON_USE_WITH_OR.
Support --full option of python_get_version().
Optimize python_get_version().
Support hooks in python_execute_nosetests(), python_execute_py.test() and python_execute_trial().
Print deprecation warnings in python_version(), python_mod_exists() and python_tkinter_exists().

Depend on >=app-admin/eselect-python-20091230, which allows to use --ABI option of `eselect python show`.
Set PYTHON_SCRIPT_NAME variable in wrapper scripts generated by python_generate_wrapper_scripts().
Simplify PYTHON() by using of --ABI option of `eselect python show`.
Fix checks for Jython and improve messages in python_mod_optimize().

Support EAPI="3".
Define _PYTHON2_SUPPORTED_VERSIONS and _PYTHON3_SUPPORTED_VERSIONS to avoid code duplication.
Support PYTHON_DEPEND.
Disallow using of NEED_PYTHON in EAPI >=3.
Use prefix variables (bug #302525).
Fix handling of -- option in some functions.
Ensure that python_execute_function() isn't called by a function, which is called by python_execute_function().
Set PYTHON_REQUESTED_ACTIVE_VERSION in python_set_active_version().
Add python_get_library() and python_get_version().
Use PYTHON() in python_mod_exists() and python_tkinter_exists().
Support Python 3 in python_tkinter_exists().
Support PYTHON_TEST_VERBOSITY.
Add python_execute_nosetests(), python_execute_py.test() and python_execute_trial().
Disallow using of python_version() in EAPI >=3.

Ensure that python.eclass cannot be used with EAPIs, in which API of python.eclass has not been yet established.
>=app-shells/bash-3.2 is now required by PMS, so DEPEND does not need to explicitly specify it.
Add support for -A / --active option of PYTHON(). Rename --only-ABI option to --ABI.
Print more detailed error messages in validate_PYTHON_ABIS() (bug #298107).
Support symlinks to wrapper scripts generated by python_generate_wrapper_scripts().
Do not use python_version(). Use $(PYTHON -A) / $(PYTHON -A --ABI) instead of ${PYVER}.
Fix python_mod_optimize() and python_mod_cleanup() for packages not supporting installation for multiple versions of Python in EAPI >=3.

Add the check to ensure that Python wrapper is configured to use the same version of Python as /usr/bin/python2 or /usr/bin/python3. Add workaround in python_pkg_setup() for older versions of Portage not supporting Python 3.

Don't include needless '/' characters before $(python_get_sitedir). Don't try to find *.py[co] files in directories already removed due to being empty. Display messages about purging of *.py[co] files only once for each pair of *.py[co] files. Display messages about removing of empty directories.

Bug #244946 - Use different syntax to pipe find output into while loops inside
python_mod_cleanup(), as a workaround for a bug in <bash-3.2 which causes
incorrect saving of the environment when < <(find ...) syntax is used. The bug
causes bash to die when attempting to source the resulting environment file.
A similar issue has affected eutils.eclass in the past, triggering bug #215340.
Also fix inverted argument validation logic inside python_mod_exists(), broken
since version 1.47. Thanks to zlin for reporting.

This form allows you to request diffs between any two revisions of this file.
For each of the two "sides" of the diff,
select a symbolic revision name using the selection box, or choose
'Use Text Field' and enter a numeric revision.