python-utils-r1.eclass: Reorder implementations to semi-ascending order
authorMichał Górny <mgorny@gentoo.org>
Sun, 6 Dec 2015 16:02:55 +0000 (17:02 +0100)
committerMichał Górny <mgorny@gentoo.org>
Wed, 9 Dec 2015 20:41:16 +0000 (21:41 +0100)
Reorder the Python implementations to ascending version order, with
CPython listed first and other implementations in descending preference.

The previous ordering has been used for two reasons:

1. There were packages which supported Python 3.x or PyPy partially but
their documentation builds or test functions required CPython 2.x.
The specific ordering caused python_export_best (the predecessor of
python_setup) to use CPython 2.x for those tasks. This is now replaced
by explicit implementation restrictions in python_setup.

2. PyPy setup runs were usually slower than CPython, and CPython 3.x
runs were often slower due to 2to3 calls. Combined with parallel build
runs, this ordering caused slower builds to start earlier and sometimes
resulted in more efficient use of threads. However, nowadays we no
longer do parallel builds.

Therefore, it seems reasonable to finally reorder the implementations
into a more intuitive order.

eclass/python-utils-r1.eclass

index 0bce6a9a79bc1e4c2edde32c6a1070b30bed46f3..3ea23a81f2d11afc1503e343a6a854cf31ef2f28 100644 (file)
@@ -41,10 +41,10 @@ inherit toolchain-funcs
 # @DESCRIPTION:
 # All supported Python implementations, most preferred last.
 declare -g -r _PYTHON_ALL_IMPLS=(
-       jython2_5 jython2_7
-       pypy pypy3
-       python3_3 python3_4 python3_5
        python2_7
+       python3_3 python3_4 python3_5
+       pypy pypy3
+       jython2_5 jython2_7
 )
 
 # @FUNCTION: _python_impl_supported