You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
calculate-overlay/dev-python/setuptools-python2/setuptools-python2-46.4.0-r...

87 lines
2.3 KiB

# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
# Set to 'manual' to avoid triggering install QA check
DISTUTILS_USE_SETUPTOOLS=manual
PYTHON_COMPAT=( python2_7 )
PYTHON_REQ_USE="xml(+)"
inherit distutils-r1
MY_PN=setuptools
MY_P=$MY_PN-$PV
DESCRIPTION="Collection of extensions to Distutils"
HOMEPAGE="https://github.com/pypa/setuptools https://pypi.org/project/setuptools/"
SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.zip"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
RESTRICT="test"
RDEPEND="
!dev-python/${MY_PN}[python_targets_python2_7]
"
BDEPEND="
app-arch/unzip
"
# installing plugins apparently breaks stuff at runtime, so let's pull
# it early
PDEPEND="
dev-python/certifi-python2
"
S="${WORKDIR}/${MY_PN}-${PV}"
# 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() {
# silence the py2 warning that is awfully verbose and breaks some
# packages by adding unexpected output
# (also, we know!)
sed -i -e '/py2_warn/d' pkg_resources/__init__.py || die
# 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
# xpass-es for me on py3
sed -e '/xfail.*710/s:(:(six.PY2, :' \
-i setuptools/tests/test_archive_util.py || die
# avoid pointless dep on flake8
sed -i -e 's:--flake8::' pytest.ini || die
distutils-r1_python_prepare_all
}
python_test() {
if ! python_is_python3; then
einfo "Tests are skipped on py2 to untangle deps"
return
fi
distutils_install_for_testing
# 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
}
python_install_all() {
rm -r ${D}/usr/share/doc
rm -r ${D}/usr/bin
}