From: "Eli Schwartz" <eschwartz@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-python/pipenv/
Date: Fri, 15 Nov 2024 06:06:38 +0000 (UTC) [thread overview]
Message-ID: <1731650744.0fa76e4edef89d0b9162804a93aadf44d79f997e.eschwartz@gentoo> (raw)
commit: 0fa76e4edef89d0b9162804a93aadf44d79f997e
Author: Oz Tiram <oz.tiram <AT> gmail <DOT> com>
AuthorDate: Sun Oct 13 17:45:02 2024 +0000
Commit: Eli Schwartz <eschwartz <AT> gentoo <DOT> org>
CommitDate: Fri Nov 15 06:05:44 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0fa76e4e
dev-python/pipenv: bump plette and pipdeptree
Plette dependency in gentoo was outdated in gentoo and
didn't match upstream.
Also remove markupsafe and requests from dependencies as
they are not longer direct dependencies of pipenv.
Bug: https://bugs.gentoo.org/939277
Signed-off-by: Oz Tiram <oz.tiram <AT> gmail.com>
Signed-off-by: Eli Schwartz <eschwartz <AT> gentoo.org>
dev-python/pipenv/pipenv-2024.0.2-r1.ebuild | 122 ++++++++++++++++++++++++++++
1 file changed, 122 insertions(+)
diff --git a/dev-python/pipenv/pipenv-2024.0.2-r1.ebuild b/dev-python/pipenv/pipenv-2024.0.2-r1.ebuild
new file mode 100644
index 000000000000..f226f3ef6af3
--- /dev/null
+++ b/dev-python/pipenv/pipenv-2024.0.2-r1.ebuild
@@ -0,0 +1,122 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1 multiprocessing
+
+MY_PV=${PV/_beta/b}
+DESCRIPTION="Python Development Workflow for Humans"
+HOMEPAGE="https://github.com/pypa/pipenv https://pypi.org/project/pipenv/"
+SRC_URI="https://github.com/pypa/pipenv/archive/v${MY_PV}.tar.gz -> ${P}.gh.tar.gz"
+S="${WORKDIR}"/${PN}-${MY_PV}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+PATCHES=(
+ "${FILESDIR}/pipenv-2023.9.8-inject-system-packages.patch"
+ "${FILESDIR}/pipenv-2023.9.8-append-always-install-to-pip-extra-args.patch"
+)
+
+RDEPEND="
+ dev-python/click[${PYTHON_USEDEP}]
+ dev-python/click-didyoumean[${PYTHON_USEDEP}]
+ >=dev-python/colorama-0.4.4[${PYTHON_USEDEP}]
+ dev-python/dparse[${PYTHON_USEDEP}]
+ >=dev-python/pexpect-4.8.0[${PYTHON_USEDEP}]
+ ~dev-python/pipdeptree-2.23.4[${PYTHON_USEDEP}]
+ ~dev-python/plette-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/ptyprocess-0.7.0[${PYTHON_USEDEP}]
+ dev-python/pyparsing[${PYTHON_USEDEP}]
+ ~dev-python/pythonfinder-2.1.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep ' dev-python/tomli[${PYTHON_USEDEP}] ' python3_{9..10})
+ >=dev-python/python-dateutil-2.8.2[${PYTHON_USEDEP}]
+ >=dev-python/python-dotenv-0.21.0[${PYTHON_USEDEP}]
+ ~dev-python/importlib-metadata-8.4.0[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-20.0.35[${PYTHON_USEDEP}]
+ dev-python/ruamel-yaml[${PYTHON_USEDEP}]
+ dev-python/shellingham[${PYTHON_USEDEP}]
+ dev-python/tomli[${PYTHON_USEDEP}]
+ dev-python/tomlkit[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+# IMPORTANT: The following sed command patches the vendor direcotry
+# in the pipenv source. Attempts to simply bump the version of the
+# package without checking that it works is likely to fail
+# The vendored packages should eventually all be removed
+# see: https://bugs.gentoo.org/717666
+src_prepare() {
+ sed --in-place -e "s/import click, plette, tomlkit/import click\n\import tomlkit\nfrom pipenv.vendor import plette/g" pipenv/project.py || die "Failed patching pipenv/project.py"
+
+ local pkgName
+ local jobs=$(makeopts_jobs)
+ local packages=( cerberus colorama click click_didyoumean dotenv dparse markupsafe \
+ pexpect pep517 pipdeptree plette ptyprocess pydantic pyparsing pythonfinder \
+ requests urllib3 shellingham tomli tomlkit importlib_metadata )
+ for pkgName in ${packages[@]}; do
+ find ./ -type f -print0 | \
+ xargs --max-procs="${jobs}" --null \
+ sed --in-place \
+ -e "s/from pipenv.vendor import ${pkgName}/import ${pkgName}/g" \
+ -e "s/from pipenv.vendor.${pkgName}\(.*\) import \(\w*\)/from ${pkgName}\1 import \2/g"\
+ -e "s/import pipenv.vendor.${pkgName} as ${pkgName}/import ${pkgName}/g" \
+ -e "s/from .vendor import ${pkgName}/import ${pkgName}/g" \
+ -e "s/from .vendor.${pkgName}/from ${pkgName}/g" || die "Failed to sed for ${pkgName}"
+ done
+
+ distutils-r1_src_prepare
+
+ # remove vendored versions
+ for pkgName in ${packages[@]}; do
+ find ./pipenv/vendor -regextype posix-extended -regex ".*${pkgName}$" -prune -exec rm -rvf {} + || die
+ # package names can be foo-bar, their module will be however foo_bar
+ find ./pipenv/vendor -regextype posix-extended -regex ".*${pkgName/_/-}" -prune -exec rm -rvf {} + || die
+ done
+
+ find ./pipenv/vendor -regextype posix-extended -regex '.*cached[_-]property.*' -prune -exec rm -rvf {} + || die
+
+ find ./ -type f -print0 | \
+ xargs --max-procs="${jobs}" --null \
+ sed --in-place \
+ -e "s/from pipenv\.vendor import plette, toml, tomlkit, vistir/from pipenv\.vendor import plette, toml, vistir\\nimport tomlkit/g"
+
+ # remove python ruaml yaml
+ sed --in-place -e \
+ "s/from pipenv\.vendor\.ruamel\.yaml import YAML/from ruamel\.yaml import YAML/g" \
+ pipenv/patched/safety/util.py || die "Failed sed in ruaml-yaml"
+ sed --in-place -e \
+ "s/from pipenv\.vendor\.ruamel\.yaml\.error import MarkedYAMLError/from ruamel\.yaml\.error import MarkedYAMLError/g" \
+ pipenv/patched/safety/util.py || die "Failed sed in ruamel-yaml"
+
+ rm -vR pipenv/vendor/ruamel || die "Failed removing ruamel-yaml from vendor"
+
+ for fname in Makefile README.md ruamel.*.LICENSE vendor.txt; do
+ rm -v pipenv/vendor/$fname || die "Failed removing pipenv/vendor/${fname}"
+ done
+
+ sed --in-place -e "s/pipenv.vendor.pythonfinder.utils.get_python_version/pythonfinder.utils.get_python_version/g" tests/unit/test_utils.py || die "Failed patching tests"
+
+ rm -Rfv pipenv/vendor || die "Could not vendor"
+ rm -Rfv examples || die "Could not remove examples"
+ rm -Rfv docs || die "Could not remove docs"
+}
+
+python_test() {
+ epytest -m "not cli and not needs_internet" tests/unit/
+}
next reply other threads:[~2024-11-15 6:06 UTC|newest]
Thread overview: 73+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-15 6:06 Eli Schwartz [this message]
-- strict thread matches above, loose matches on Subject: below --
2024-11-30 11:47 [gentoo-commits] repo/gentoo:master commit in: dev-python/pipenv/ Michał Górny
2024-11-30 11:40 Michał Górny
2024-11-15 6:06 Eli Schwartz
2024-10-12 7:28 Michał Górny
2024-10-12 7:04 Michał Górny
2024-09-27 5:57 Eli Schwartz
2024-09-27 5:57 Eli Schwartz
2024-08-17 7:39 Michał Górny
2024-08-15 5:44 Joonas Niilola
2024-07-13 7:35 Joonas Niilola
2024-04-22 10:58 Michał Górny
2024-03-13 0:54 Sam James
2024-03-12 15:43 Michał Górny
2024-03-12 15:43 Michał Górny
2024-01-06 14:08 Michał Górny
2023-12-30 18:30 Michał Górny
2023-12-15 15:33 Jakov Smolić
2023-12-13 10:10 Andrew Ammerlaan
2023-12-03 8:39 Andrew Ammerlaan
2023-12-03 8:39 Andrew Ammerlaan
2023-12-02 19:31 Jakov Smolić
2023-10-27 3:27 Sam James
2023-09-16 7:57 Joonas Niilola
2023-09-16 7:57 Joonas Niilola
2023-09-16 7:57 Joonas Niilola
2023-09-16 7:57 Joonas Niilola
2023-05-21 5:43 Sam James
2023-01-20 14:01 Joonas Niilola
2022-12-24 7:03 Sam James
2022-11-14 4:44 Michał Górny
2022-10-09 16:34 Joonas Niilola
2022-10-09 16:34 Joonas Niilola
2022-10-09 16:34 Joonas Niilola
2022-10-02 18:54 Arthur Zamarin
2022-10-02 18:54 Arthur Zamarin
2022-09-09 7:23 Arthur Zamarin
2022-09-09 7:23 Arthur Zamarin
2022-07-05 8:52 Joonas Niilola
2022-06-16 8:08 Michał Górny
2022-06-07 18:56 Arthur Zamarin
2022-05-25 17:11 Patrick McLean
2022-05-24 21:52 Patrick McLean
2022-04-19 5:56 Arthur Zamarin
2022-03-30 11:25 Jakov Smolić
2022-01-19 13:44 Jakov Smolić
2022-01-18 12:36 Sam James
2022-01-09 1:23 Sam James
2021-10-17 9:13 Michał Górny
2021-08-18 13:33 Joonas Niilola
2021-06-01 0:28 Sam James
2021-06-01 0:28 Sam James
2021-02-27 21:07 Sam James
2020-12-13 10:44 Joonas Niilola
2020-12-13 10:44 Joonas Niilola
2020-11-11 21:26 Patrice Clement
2020-10-12 12:39 Joonas Niilola
2020-07-27 13:14 Michał Górny
2020-07-27 13:11 Michał Górny
2020-07-27 13:11 Michał Górny
2020-07-27 13:11 Michał Górny
2020-04-16 8:38 Michał Górny
2020-04-16 8:38 Michał Górny
2020-03-28 11:59 Michał Górny
2019-12-16 13:48 Sebastian Pipping
2018-11-10 14:25 Justin Lecher
2018-08-06 19:41 Patrick Lauer
2018-02-01 8:47 Michał Górny
2018-02-01 8:47 Michał Górny
2017-12-09 15:04 Justin Lecher
2017-12-02 20:51 Justin Lecher
2017-12-02 20:09 Justin Lecher
2017-12-02 17:27 Justin Lecher
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1731650744.0fa76e4edef89d0b9162804a93aadf44d79f997e.eschwartz@gentoo \
--to=eschwartz@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox