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 |
+} |