| # Copyright 1999-2020 Gentoo Authors |
| # Distributed under the terms of the GNU General Public License v2 |
| |
| EAPI=7 |
| DISTUTILS_USE_SETUPTOOLS=no |
| PYTHON_COMPAT=( python2_7 python3_{6,7,8} pypy3 ) |
| PYTHON_REQ_USE="xml(+)" |
| |
| inherit distutils-r1 |
| |
| if [[ ${PV} == "9999" ]]; then |
| EGIT_REPO_URI="https://github.com/pypa/setuptools.git" |
| inherit git-r3 |
| else |
| SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip" |
| KEYWORDS="*" |
| fi |
| |
| DESCRIPTION="Collection of extensions to Distutils" |
| HOMEPAGE="https://github.com/pypa/setuptools https://pypi.org/project/setuptools/" |
| |
| LICENSE="MIT" |
| SLOT="0" |
| IUSE="test" |
| RESTRICT="!test? ( test )" |
| |
| BDEPEND=" |
| app-arch/unzip |
| test? ( |
| dev-python/mock[${PYTHON_USEDEP}] |
| dev-python/pip[${PYTHON_USEDEP}] |
| >=dev-python/pytest-3.7.0[${PYTHON_USEDEP}] |
| dev-python/pytest-fixture-config[${PYTHON_USEDEP}] |
| dev-python/pytest-virtualenv[${PYTHON_USEDEP}] |
| dev-python/wheel[${PYTHON_USEDEP}] |
| $(python_gen_cond_dep ' |
| dev-python/futures[${PYTHON_USEDEP}] |
| ' -2) |
| ) |
| " |
| PDEPEND=" |
| >=dev-python/certifi-2016.9.26[${PYTHON_USEDEP}]" |
| |
| # Force in-source build because build system modifies sources. |
| DISTUTILS_IN_SOURCE_BUILD=1 |
| |
| DOCS=( {CHANGES,README}.rst docs/{easy_install.txt,pkg_resources.txt,setuptools.txt} ) |
| |
| PATCHES=( |
| # fix regression introduced by reinventing deprecated 'imp' |
| # https://github.com/pypa/setuptools/pull/1905 |
| "${FILESDIR}"/setuptools-42.0.0-imp-fix.patch |
| ) |
| |
| python_prepare_all() { |
| if [[ ${PV} == "9999" ]]; then |
| python_setup |
| ${EPYTHON} bootstrap.py || die |
| fi |
| |
| # disable tests requiring a network connection |
| rm setuptools/tests/test_packageindex.py || die |
| |
| # don't run integration tests |
| rm setuptools/tests/test_integration.py || die |
| |
| distutils-r1_python_prepare_all |
| } |
| |
| python_test() { |
| # test_easy_install raises a SandboxViolation due to ${HOME}/.pydistutils.cfg |
| # It tries to sandbox the test in a tempdir |
| HOME="${PWD}" pytest -vv ${PN} || die "Tests failed under ${EPYTHON}" |
| } |
| |
| python_install() { |
| export DISTRIBUTE_DISABLE_VERSIONED_EASY_INSTALL_SCRIPT=1 |
| distutils-r1_python_install |
| } |