mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-04-26 15:37:28 -07:00
Enable Python 3.8 as needed to start bootstrapping it everywhere. For now, without test deps since they cause many blockers in keywording process. However, when test deps are built without testing, setuptools' tests just pass. Signed-off-by: Michał Górny <mgorny@gentoo.org>
73 lines
2.0 KiB
Bash
73 lines
2.0 KiB
Bash
# Copyright 1999-2019 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=7
|
|
PYTHON_COMPAT=( python2_7 python3_{5,6,7,8} pypy{,3} )
|
|
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="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
|
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 )"
|
|
|
|
RDEPEND="
|
|
"
|
|
DEPEND="${RDEPEND}
|
|
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}]
|
|
virtual/python-futures[${PYTHON_USEDEP}]
|
|
)
|
|
"
|
|
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} )
|
|
|
|
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
|
|
}
|