Gentoo Archives: gentoo-commits

From: Joonas Niilola <juippis@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-python/pipenv/
Date: Tue, 05 Jul 2022 08:52:10
Message-Id: 1657011121.9f06b8a545c21dd54687c67f2560eb7b02ebae70.juippis@gentoo
1 commit: 9f06b8a545c21dd54687c67f2560eb7b02ebae70
2 Author: Oz N Tiram <oz.tiram <AT> gmail <DOT> com>
3 AuthorDate: Mon Jun 27 14:11:45 2022 +0000
4 Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
5 CommitDate: Tue Jul 5 08:52:01 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9f06b8a5
7
8 dev-python/pipenv: drop more vendored packages
9
10 Bug: https://bugs.gentoo.org/717666
11 Closes: https://github.com/gentoo/gentoo/pull/26092
12 Signed-off-by: Oz N Tiram <oz.tiram <AT> gmail.com>
13 Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
14
15 dev-python/pipenv/pipenv-2022.6.7-r1.ebuild | 93 +++++++++++++++++++++++++++++
16 1 file changed, 93 insertions(+)
17
18 diff --git a/dev-python/pipenv/pipenv-2022.6.7-r1.ebuild b/dev-python/pipenv/pipenv-2022.6.7-r1.ebuild
19 new file mode 100644
20 index 000000000000..b87dfbce7e3c
21 --- /dev/null
22 +++ b/dev-python/pipenv/pipenv-2022.6.7-r1.ebuild
23 @@ -0,0 +1,93 @@
24 +# Copyright 1999-2022 Gentoo Authors
25 +# Distributed under the terms of the GNU General Public License v2
26 +
27 +EAPI=8
28 +
29 +DISTUTILS_USE_PEP517=setuptools
30 +PYTHON_COMPAT=( python3_{8..11} )
31 +
32 +inherit distutils-r1 multiprocessing
33 +
34 +MY_PV=${PV/_beta/b}
35 +DESCRIPTION="Python Development Workflow for Humans"
36 +HOMEPAGE="https://github.com/pypa/pipenv https://pypi.org/project/pipenv/"
37 +SRC_URI="https://github.com/pypa/pipenv/archive/v${MY_PV}.tar.gz -> ${P}.gh.tar.gz"
38 +S="${WORKDIR}"/${PN}-${MY_PV}
39 +
40 +LICENSE="MIT"
41 +SLOT="0"
42 +KEYWORDS="~amd64 ~riscv ~x86"
43 +
44 +RDEPEND="
45 + dev-python/attrs[${PYTHON_USEDEP}]
46 + dev-python/cached-property[${PYTHON_USEDEP}]
47 + >=dev-python/cerberus-1.3.2[${PYTHON_USEDEP}]
48 + dev-python/click[${PYTHON_USEDEP}]
49 + >=dev-python/colorama-0.4.4[${PYTHON_USEDEP}]
50 + >=dev-python/idna-3.2[${PYTHON_USEDEP}]
51 + dev-python/importlib_metadata[${PYTHON_USEDEP}]
52 + $(python_gen_cond_dep 'dev-python/importlib_resources[${PYTHON_USEDEP}]' 3.8)
53 + dev-python/iso8601[${PYTHON_USEDEP}]
54 + >=dev-python/pexpect-4.8.0[${PYTHON_USEDEP}]
55 + dev-python/pip[${PYTHON_USEDEP}]
56 + dev-python/pyparsing[${PYTHON_USEDEP}]
57 + >=dev-python/python-dateutil-2.8.2[${PYTHON_USEDEP}]
58 + >=dev-python/virtualenv-20.0.35[${PYTHON_USEDEP}]
59 + dev-python/virtualenv-clone[${PYTHON_USEDEP}]
60 + >=dev-python/requests-2.26.0[${PYTHON_USEDEP}]
61 + dev-python/toml[${PYTHON_USEDEP}]
62 + >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
63 + dev-python/tomlkit[${PYTHON_USEDEP}]
64 + >=dev-python/urllib3-1.26.7[${PYTHON_USEDEP}]
65 + >=dev-python/wheel-0.36.0[${PYTHON_USEDEP}]
66 + >=dev-python/zipp-3.6.0[${PYTHON_USEDEP}]
67 +"
68 +
69 +BDEPEND="
70 + ${RDEPEND}
71 + test? (
72 + dev-python/flaky[${PYTHON_USEDEP}]
73 + dev-python/mock[${PYTHON_USEDEP}]
74 + dev-python/pytz[${PYTHON_USEDEP}]
75 + )
76 +"
77 +
78 +distutils_enable_tests pytest
79 +
80 +# IMPORTANT: The following sed command patches the vendor direcotry
81 +# in the pipenv source. Attempts to simply bump the version of the
82 +# package without checking that it works is likely to fail
83 +# The vendored packages should eventually all be removed
84 +# see: https://bugs.gentoo.org/717666
85 +src_prepare() {
86 + local pkgName
87 + local jobs=$(makeopts_jobs)
88 + local packages=( attr cerberus cached_property click colorama idna importlib_metadata importlib_resources iso8601 pexpect dateutil pyparsing requests toml tomli tomlkit urllib3 zipp )
89 + for pkgName in ${packages[@]}; do
90 + find ./ -type f -print0 | \
91 + xargs --max-procs="${jobs}" --null \
92 + sed --in-place \
93 + -e "s/from pipenv.vendor import ${pkgName}/import ${pkgName}/g" \
94 + -e "s/from pipenv.vendor.${pkgName}\(.*\) import \(\w*\)/from ${pkgName}\1 import \2/g"\
95 + -e "s/import pipenv.vendor.${pkgName} as ${pkgName}/import ${pkgName}/g" \
96 + -e "s/from .vendor import ${pkgName}/import ${pkgName}/g" || die "Failed to sed for ${pkgName}"
97 + done
98 +
99 + distutils-r1_src_prepare
100 +
101 + # remove vendored versions
102 + for pkgName in ${packages[@]}; do
103 + find ./pipenv/vendor -regextype posix-extended -regex ".*${pkgName}$" -prune -exec rm -rvf {} + || die
104 + # package names can be foo-bar, their module will be however foo_bar
105 + find ./pipenv/vendor -regextype posix-extended -regex ".*${pkgName/_/-}" -prune -exec rm -rvf {} + || die
106 + done
107 +
108 + find ./pipenv/vendor -regextype posix-extended -regex '.*cached[_-]property.*' -prune -exec rm -rvf {} + || die
109 +
110 + # not actually used by pipenv, but included in pipenv
111 + rm -vR "${S}/${PN}/vendor/wheel/" || die
112 +}
113 +
114 +python_test() {
115 + epytest -m "not cli and not needs_internet" tests/unit/
116 +}