Gentoo Archives: gentoo-commits

From: "Michał Górny" <mgorny@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-python/pip/
Date: Thu, 12 May 2022 08:57:17
Message-Id: 1652345829.9812366fc1444782ac2108d584c6650aa95ae590.mgorny@gentoo
1 commit: 9812366fc1444782ac2108d584c6650aa95ae590
2 Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
3 AuthorDate: Thu May 12 07:42:22 2022 +0000
4 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
5 CommitDate: Thu May 12 08:57:09 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9812366f
7
8 dev-python/pip: Use PEP517 build
9
10 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
11
12 dev-python/pip/Manifest | 2 +
13 dev-python/pip/pip-22.0.4-r1.ebuild | 128 ++++++++++++++++++++++++++++++++++++
14 2 files changed, 130 insertions(+)
15
16 diff --git a/dev-python/pip/Manifest b/dev-python/pip/Manifest
17 index 03bd9c69113b..edb1fd4d31f6 100644
18 --- a/dev-python/pip/Manifest
19 +++ b/dev-python/pip/Manifest
20 @@ -1,4 +1,6 @@
21 DIST pip-22.0.4.tar.gz 9325766 BLAKE2B 9ce5a25e6fb9aedc39e2cddab2a8af3b47dbaaaf8bd22c39f8301b784e6e9f5434f63d5ef467f4d819b15bcd5cf8d3da52db34b3514c7b4a15823f77cb47e1c1 SHA512 af6d1787b4fe97f2eec9c2e3e3f0f756efca8cb83f6ecdae797986fb6050ee60d872a8a8eb7502a32c4334fc0c7af8cf3c58ce980407d0e9f89eec28a4290093
22 DIST setuptools-57.4.0-py3-none-any.whl 819017 BLAKE2B afba86cf9aeea58ee869fdc11bbb192abbf2f89710e468b90dc291fec228ca16202483e36195a5ad4e2b8d210326bc83e2be6ec696ab413d94ffaeb05bb9c030 SHA512 9bf230f4e0e72acab07ab372a6ca05adb3d175a8079d2f73d327c632f3d27b8ee10442d3e60f4c94a6e61d5ba2212fc78187ca6e1717e15bb570bdce4263fd0b
23 +DIST setuptools-62.2.0-py3-none-any.whl 1143965 BLAKE2B 42bf650892d2e5810f18f8002fc6318b5abf890d04b2a3050784b93da88d806af5118eee65ed89b06e1cb908e4c7f6aa50222fba4b8617ab36923cfb624528ae SHA512 496593580b5537fb142bc775d060d01ef3c9069fc06564b5e9cb8e2a56e8f264c1dc7438d38a17f8b7e20d509a6b4f62cdfaf290c4ed82e071a1cc10a297b8b8
24 DIST virtualenv-16.7.11.tar.gz 8134533 BLAKE2B ea81e11c210d911bf9576edf7b1754721b270adcc5d9633415d33b8f659149d64932fe2d366200121ec00c266c25dae380e248add438fc357477114eba4dfb4e SHA512 82d0d2a964508511e8e1686703581ff543f65791dc2449d9741d46ea57c4c89673947d2477ba374176f05fcea2a5ca572aa650c61c4f3271c4d73d1ff9d9ff42
25 +DIST virtualenv-16.7.12.tar.gz 8906590 BLAKE2B a1f206769e4e5797562906162e492e44c4a72720e4f88a0362dc802ce2df20c65aaab6a72dce2238445601a10fae59bd90cd362217994d30911f105afd71c5fa SHA512 0278b33fb19f6553e70ad3dcffa6ea1a455ff435b216ac9b4fadff216b2932714faa2bb6027af3058010111d8511a5c2fcd424f31c9645be361603971f111c8e
26 DIST wheel-0.36.2-py2.py3-none-any.whl 35046 BLAKE2B bc4e8dab7c74eea34d3b4a813b7eaf6295a99a396a861b6cdd76f743043e89140bad132bdd13e385e8945ce02e0798e1d3ac73fc1b23bde5b2a83e4bb4dd5cdc SHA512 6bb5119b4d3704fe1e3c1eaaa3124edab13f61b46f8a0a8e75974fac4e5b25d8b53606071a03a8d8990ad1cfe2ab247ddea260098df2c0c35ae965be47080284
27
28 diff --git a/dev-python/pip/pip-22.0.4-r1.ebuild b/dev-python/pip/pip-22.0.4-r1.ebuild
29 new file mode 100644
30 index 000000000000..49f62833547c
31 --- /dev/null
32 +++ b/dev-python/pip/pip-22.0.4-r1.ebuild
33 @@ -0,0 +1,128 @@
34 +# Copyright 1999-2022 Gentoo Authors
35 +# Distributed under the terms of the GNU General Public License v2
36 +
37 +EAPI=8
38 +
39 +DISTUTILS_USE_PEP517=setuptools
40 +PYTHON_COMPAT=( python3_{8..10} pypy3 )
41 +PYTHON_REQ_USE="ssl(+),threads(+)"
42 +
43 +inherit bash-completion-r1 distutils-r1 multiprocessing
44 +
45 +# setuptools & wheel .whl files are required for testing,
46 +# the exact version is not very important.
47 +SETUPTOOLS_WHL="setuptools-62.2.0-py3-none-any.whl"
48 +WHEEL_WHL="wheel-0.36.2-py2.py3-none-any.whl"
49 +# upstream still requires virtualenv-16 for testing, we are now fetching
50 +# it directly to avoid blockers with virtualenv-20
51 +VENV_PV=16.7.12
52 +
53 +DESCRIPTION="The PyPA recommended tool for installing Python packages"
54 +HOMEPAGE="
55 + https://pip.pypa.io/en/stable/
56 + https://pypi.org/project/pip/
57 + https://github.com/pypa/pip/
58 +"
59 +SRC_URI="
60 + https://github.com/pypa/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
61 + test? (
62 + https://files.pythonhosted.org/packages/py3/s/setuptools/${SETUPTOOLS_WHL}
63 + https://files.pythonhosted.org/packages/py2.py3/w/wheel/${WHEEL_WHL}
64 + https://github.com/pypa/virtualenv/archive/${VENV_PV}.tar.gz
65 + -> virtualenv-${VENV_PV}.tar.gz
66 + )
67 +"
68 +
69 +LICENSE="MIT"
70 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
71 +SLOT="0"
72 +IUSE="vanilla"
73 +
74 +RDEPEND="
75 + >=dev-python/setuptools-39.2.0[${PYTHON_USEDEP}]
76 +"
77 +BDEPEND="
78 + ${RDEPEND}
79 + test? (
80 + $(python_gen_cond_dep '
81 + dev-python/freezegun[${PYTHON_USEDEP}]
82 + dev-python/pretend[${PYTHON_USEDEP}]
83 + dev-python/pytest-xdist[${PYTHON_USEDEP}]
84 + dev-python/scripttest[${PYTHON_USEDEP}]
85 + dev-python/tomli-w[${PYTHON_USEDEP}]
86 + dev-python/werkzeug[${PYTHON_USEDEP}]
87 + dev-python/wheel[${PYTHON_USEDEP}]
88 + !alpha? ( !hppa? ( !ia64? (
89 + dev-python/cryptography[${PYTHON_USEDEP}]
90 + ) ) )
91 + ' python3_{8..10})
92 + )
93 +"
94 +
95 +distutils_enable_tests pytest
96 +
97 +python_prepare_all() {
98 + local PATCHES=(
99 + "${FILESDIR}/${PN}-21.3-no-coverage.patch"
100 + )
101 + if ! use vanilla; then
102 + PATCHES+=( "${FILESDIR}/pip-20.0.2-disable-system-install.patch" )
103 + fi
104 +
105 + distutils-r1_python_prepare_all
106 +
107 + if use test; then
108 + mkdir tests/data/common_wheels/ || die
109 + cp "${DISTDIR}"/{${SETUPTOOLS_WHL},${WHEEL_WHL}} \
110 + tests/data/common_wheels/ || die
111 + fi
112 +}
113 +
114 +python_compile_all() {
115 + # 'pip completion' command embeds full $0 into completion script, which confuses
116 + # 'complete' and causes QA warning when running as "${PYTHON} -m pip".
117 + # This trick sets correct $0 while still calling just installed pip.
118 + local pipcmd='import sys; sys.argv[0] = "pip"; __file__ = ""; from pip._internal.cli.main import main; sys.exit(main())'
119 + "${EPYTHON}" -c "${pipcmd}" completion --bash > completion.bash || die
120 + "${EPYTHON}" -c "${pipcmd}" completion --zsh > completion.zsh || die
121 +}
122 +
123 +python_test() {
124 + if ! has "${EPYTHON}" python3.{8..10} ]]; then
125 + einfo "Skipping tests on ${EPYTHON} since virtualenv-16 is broken"
126 + return 0
127 + fi
128 +
129 + local EPYTEST_DESELECT=(
130 + tests/functional/test_install.py::test_double_install_fail
131 + tests/functional/test_list.py::test_multiple_exclude_and_normalization
132 + # Internet
133 + tests/functional/test_install.py::test_install_editable_with_prefix_setup_cfg
134 + tests/functional/test_install.py::test_editable_install__local_dir_no_setup_py_with_pyproject
135 + tests/functional/test_install.py::test_editable_install__local_dir_setup_requires_with_pyproject
136 + )
137 +
138 + if ! has_version "dev-python/cryptography[${PYTHON_USEDEP}]"; then
139 + EPYTEST_DESELECT+=(
140 + tests/functional/test_install.py::test_install_sends_client_cert
141 + tests/functional/test_install_config.py::test_do_not_prompt_for_authentication
142 + tests/functional/test_install_config.py::test_prompt_for_authentication
143 + tests/functional/test_install_config.py::test_prompt_for_keyring_if_needed
144 + )
145 + fi
146 +
147 + local -x GENTOO_PIP_TESTING=1
148 + local -x PYTHONPATH="${WORKDIR}/virtualenv-${VENV_PV}"
149 + local -x SETUPTOOLS_USE_DISTUTILS=stdlib
150 + epytest -m "not network" -n "$(makeopts_jobs)"
151 +}
152 +
153 +python_install_all() {
154 + local DOCS=( AUTHORS.txt docs/html/**/*.rst )
155 + distutils-r1_python_install_all
156 +
157 + newbashcomp completion.bash pip
158 +
159 + insinto /usr/share/zsh/site-functions
160 + newins completion.zsh _pip
161 +}