if [[ ! ${DISTUTILS_SINGLE_IMPL} ]]; then inherit xpython-r1 else inherit xpython-single-r1 fi inherit distutils-r1 # @FUNCTION: distutils-r1_python_compile # @USAGE: [additional-args...] # @DESCRIPTION: # The default python_compile(). Runs 'esetup.py build'. Any parameters # passed to this function will be appended to setup.py invocation, # i.e. passed as options to the 'build' command. # # This phase also sets up initial setup.cfg with build directories # and copies upstream egg-info files if supplied. distutils-r1_python_compile() { debug-print-function ${FUNCNAME} "${@}" _distutils-r1_copy_egg_info local build_args=() # distutils is parallel-capable since py3.5 # to avoid breaking stable ebuilds, enable it only if either: # a. we're dealing with EAPI 7 # b. we're dealing with Python 3.7 or PyPy3 if python_is_python3 && [[ ${EPYTHON} != python3.4 ]]; then if [[ ${EAPI} != [56] || ${EPYTHON} != python3.[56] ]]; then local jobs=$(makeopts_jobs "${MAKEOPTS}" INF) if [[ ${jobs} == INF ]]; then local nproc=$(get_nproc) jobs=$(( nproc + 1 )) fi build_args+=( -j "${jobs}" ) fi fi esetup.py build "${build_args[@]}" "${@}" }