blob: 045a730f06ad363f63bd747ef18aa24a4a2adbb2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
# 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 python3_{6,7,8,9,10} )
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
}
|