1 # Copyright 1999-2019 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
6 PYTHON_COMPAT=( python2_7 python3_{5,6} pypy pypy3 )
8 inherit distutils-r1 flag-o-matic
10 DESCRIPTION="Python multiprocessing fork"
11 HOMEPAGE="https://pypi.org/project/billiard/ https://github.com/celery/billiard"
12 SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
18 RESTRICT="!test? ( test )"
22 dev-python/setuptools[${PYTHON_USEDEP}]
24 dev-python/case[${PYTHON_USEDEP}]
25 >=dev-python/unittest2-0.4.0[${PYTHON_USEDEP}]
26 >=dev-python/nose-1.3.4[${PYTHON_USEDEP}]
27 dev-python/nose-cover3[${PYTHON_USEDEP}]
28 $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7 pypy pypy3 )
30 # The usual req'd for tests
31 DISTUTILS_IN_SOURCE_BUILD=1
34 if ! python_is_python3; then
35 local CFLAGS=${CFLAGS}
36 append-cflags -fno-strict-aliasing
38 distutils-r1_python_compile
41 python_compile_all() {
42 use doc && esetup.py build_sphinx --builder="html" --source-dir=Doc/
46 cd "${BUILD_DIR}" || die
47 # The teardown in __init__.py breaks pypy's installed nose
48 if [[ "${EPYTHON}" == pypy ]]; then
49 rm lib/billiard/tests/__init__.py || die
50 echo "from __future__ import absolute_import" >> ./lib/billiard/tests/__init__.py || die
52 nosetests billiard.tests || die "Tests fail with ${EPYTHON}"
55 python_install_all() {
56 use doc && local HTML_DOCS=( build/sphinx/html/. )
57 distutils-r1_python_install_all