From d71aca7673826d5f5fa93b43c7c8af3c1e023dc6 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 12 Mar 2024 18:46:38 +0000 Subject: gentoo auto-resync : 12:03:2024 - 18:46:38 --- dev-python/pipenv/Manifest | 10 +- .../pipenv-2022.9.24-inject-site-packages.patch | 34 ------ .../pipenv-2023.4.29-append-always-install.patch | 19 ---- .../files/pipenv-2023.7.11-fix-imports-utils.patch | 15 --- .../files/pipenv-2023.7.11-fix-imports.patch | 39 ------- dev-python/pipenv/pipenv-2023.11.15.ebuild | 126 --------------------- dev-python/pipenv/pipenv-2023.12.1.ebuild | 123 ++++++++++++++++++++ dev-python/pipenv/pipenv-2023.7.11.ebuild | 108 ------------------ 8 files changed, 125 insertions(+), 349 deletions(-) delete mode 100644 dev-python/pipenv/files/pipenv-2022.9.24-inject-site-packages.patch delete mode 100644 dev-python/pipenv/files/pipenv-2023.4.29-append-always-install.patch delete mode 100644 dev-python/pipenv/files/pipenv-2023.7.11-fix-imports-utils.patch delete mode 100644 dev-python/pipenv/files/pipenv-2023.7.11-fix-imports.patch delete mode 100644 dev-python/pipenv/pipenv-2023.11.15.ebuild create mode 100644 dev-python/pipenv/pipenv-2023.12.1.ebuild delete mode 100644 dev-python/pipenv/pipenv-2023.7.11.ebuild (limited to 'dev-python/pipenv') diff --git a/dev-python/pipenv/Manifest b/dev-python/pipenv/Manifest index cc452cb2582a..c56a0819a5d6 100644 --- a/dev-python/pipenv/Manifest +++ b/dev-python/pipenv/Manifest @@ -1,12 +1,6 @@ -AUX pipenv-2022.9.24-inject-site-packages.patch 1155 BLAKE2B 61f296dd1f8168b86f17a55359c75febfc02807dd97c750217b46bd017b7bf73cf6fde0fcd2afa95908bd3e1cd7b50f626459f1a19f47b1c34ecdbea39fcfb7c SHA512 3a26ce6217fbf86eda1bb8266928dffe5fc1a55e4f7b66d0ade5ea31deff9cb68427f424995e4c8d402737e90ca9358a3a00364a4167667fae9a4bd018100ebc AUX pipenv-2023.11.15-fix-import-path-PackageDAG.patch 795 BLAKE2B 4e1d473b97c59c455b53b59340f456ddc3e9dd07a604798a7b16da7f59cffcb6f1131b4a4726feb2613e30efce829b467bd1628ada6583e5a2ea2ebfe9ece84f SHA512 d352ce2aa493115d9c0dfcebf2e0fd4b49c2da9bc4f6af5f2b5d7ca4e8b8604704c486c92893cc62b0317761e3dc924924ec6dd882f55322413dac79a98a126e -AUX pipenv-2023.4.29-append-always-install.patch 696 BLAKE2B 61ae23b3c948358109a80b406eb83a835293b6a986a191dbb759c9ffcb7e1a22b0766d4eb1271e5d2dd849ee97747f998417c79024ef5b212e3c21ebcebc2412 SHA512 635a1cccf28b7869b06538eb668d8abc385465fa28bc708376fd7ba1dda621d12529c0843a6d545577456f46d7ec7ae5794df34b0d5b73a897b67c3fc71145a2 -AUX pipenv-2023.7.11-fix-imports-utils.patch 367 BLAKE2B 65529d5b515b265fa44be5e520051f98f5507989f1e708d7bf258bbd55304016cc6369ec6ec389268f7018165ddc2052aa2c6f6c4b89fff48d4b973e366b2092 SHA512 15c91f4f663254e314a8d74ffea68b63a96a40a0732be18692629c338551114924f876db7085b965d274c5124d001e735871bf06a1abe2e5df80de7eb354158a -AUX pipenv-2023.7.11-fix-imports.patch 1572 BLAKE2B e2dca1f8cb57138a9d19baf4b0b036f88172f1e58ad1d41201f6020088357fd0ace950d9b49c95a34caa391826da13468d5bca472b50717b5ee32e9474de22a6 SHA512 592d271ce3bc3e375090a39e9629f8a6eba80f9a2b15562e3902b94cc42ac24b6cb097f5c62c307a1dcee3a179d0a0c8475375b94512eaeadc05d369d60b1087 AUX pipenv-2023.9.8-append-always-install-to-pip-extra-args.patch 1043 BLAKE2B 09a50ba813d21a82333905e098dbd99b11a6c6f07c2ae512eed4189bfee371b0ceb2e27ffff41fb414b336c8ec49014c43903f3a2f12fb9b6323dafdf13f8634 SHA512 c900dc2589b5f4b3f36b15ddf2287d74dcafb1395c96330058a400ac3698a525715b69cd32b5780cc7ec9d71d067f159c623deaf63c9e4c11876cd651c069f87 AUX pipenv-2023.9.8-inject-system-packages.patch 1672 BLAKE2B d803b80a5c46bac67ab7c361f369fad58b1c2a933bc2f78b2d4fa5fa172a23e7e5c026edf48cf398b3232280428eaf40369cafdf4c6c019c3dc9e397e884564d SHA512 5600a8bd7bc5cdf2152d84fc7791359a04df15f38d11f8c9517b709a2793ce05c6fc5acc1d1d8b763078465012e421826699287d2e3ae97838e155a9a1694650 -DIST pipenv-2023.11.15.gh.tar.gz 10837840 BLAKE2B 611bac2cda46236264026bb3aa4183e4458dfee07dc43640f902bb85840033beb32e4617584d8a243c640d84893368f91a1d91454cdfd477d6c075fc56a04dd2 SHA512 662190a43529724e24a2e1e4b967867c7fa4ddd99fd903d45659e2a685880b2a0086df69dfb3ed3c2973da8aec5604be6935d21d8ce5e224b5418a6adabc12b7 -DIST pipenv-2023.7.11.gh.tar.gz 10828051 BLAKE2B 3eeab9c5328dc5914e7e024f07bf105241ca777187ce50d5765f0ca1bb7270d8c6bda6a842b188fcacb57ba8bf5d0ed5f7b29b9edce5d45e485c8079691ac991 SHA512 d37cf030f4f77d4c95d0f0883140b1e829d4473b43fdc3f61c3d39827fdf9c98ecfc794d3eacf3ebedb55dadb018416c1250938a193a6382ac61ce859d19e193 -EBUILD pipenv-2023.11.15.ebuild 5001 BLAKE2B 4af543eac2169570da34048c78356499f36641a2b1a4aec9e3d87ba4ac73f260b59d6d894aa9415a2dcdb608fe558a470183b831461c32156016a470c6fedd81 SHA512 c110b2788fe0b591b7aecbe43cdc9486f9cf28e0420f9f2ec6bc6f956f69aa5c78d72af08ea71fe3b9f310ddb01c0e7599e12452d5d225c52e62780148960310 -EBUILD pipenv-2023.7.11.ebuild 4108 BLAKE2B 89b3556b5f91c0170ff80fcb8de66b13afee7aa8e433309f10012d0f33636cff63538e0c742f15f5e01fe51dcf3b944ba0cccfab1c7d65cd22ac342ed857d490 SHA512 37dc19e6457b1a9f0cc4c0e3b39ac1534981e5459e8347276f6ba1118908405a9e6a3f790c7b4cc1167cfc561e66931e6f2991fe8ac706361bb82a7846590ebd +DIST pipenv-2023.12.1.gh.tar.gz 10728288 BLAKE2B dc9425303e24652b797c9f9f9f6cc6f13f30e32775fe0458ee472af5d859ee245c58f3adb6040390bd53d3e1efd6493f930c7336e69956516b36e26e70ca14b7 SHA512 caadbeb32c0445abfae65d86df8d9a5875e71c1a0a281193194ae61c0b095c8f9361a5dd67f92acd5b64d8dc1d877324e959357470894d7d60ceb1a619c831db +EBUILD pipenv-2023.12.1.ebuild 4849 BLAKE2B bc1d0bfc0961bd0147dff200b546e7957904a569c43815d13903bb64b12a9f54f7ecc8e10861b18918dbe86c2f21c703179e41fe6f97be13937d83a1ad6ed08c SHA512 8669995741b1cde38bf395f7c3ba4f4bbb9c8feeee92b833d1b06c37890f3f815170c6ffe22c63aa9c1ac11cf03e27104888e37dd8f2d555f989eeba60b3bbe7 MISC metadata.xml 643 BLAKE2B ff3557d9ae32b553c85455436683e2ca94bc16c6ec7c6d2ceb1113a69dc841b9ac2f0e4b96eec4c6c84ca899ad6a99b0747d7bf3f9289110a8bbdfb80f2cb2eb SHA512 7a611950572c2d700fb1680e0aa307069d80d992528144da781eca9f1fee729defa6f8b28382ddd8f66e58c5f68de9a17815989a4a39473bbf830a7be42ea282 diff --git a/dev-python/pipenv/files/pipenv-2022.9.24-inject-site-packages.patch b/dev-python/pipenv/files/pipenv-2022.9.24-inject-site-packages.patch deleted file mode 100644 index 04cf0ed9e317..000000000000 --- a/dev-python/pipenv/files/pipenv-2022.9.24-inject-site-packages.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff --git a/pipenv/patched/pip/__main__.py b/pipenv/patched/pip/__main__.py -index b424ab20..79d52838 100644 ---- a/pipenv/patched/pip/__main__.py -+++ b/pipenv/patched/pip/__main__.py -@@ -28,6 +28,13 @@ if __name__ == "__main__": - ) - import importlib.util - import sys -+ -+ -+ SITE_PACKAGES_ROOT = os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(__file__)))) -+ -+ # Inject site directory into system path. -+ sys.path.insert(-1, SITE_PACKAGES_ROOT) -+ - spec = importlib.util.spec_from_file_location( - "pipenv", location=os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))), "__init__.py")) - pipenv = importlib.util.module_from_spec(spec) -diff --git a/pipenv/resolver.py b/pipenv/resolver.py -index 3fea0a1e..a0d9da29 100644 ---- a/pipenv/resolver.py -+++ b/pipenv/resolver.py -@@ -6,6 +6,11 @@ import sys - - os.environ["PIP_PYTHON_PATH"] = str(sys.executable) - -+SITE_PACKAGES_ROOT = os.path.dirname(os.path.dirname(__file__)) -+ -+# Inject site directory into system path. -+sys.path.insert(-1, SITE_PACKAGES_ROOT) -+ - - def _ensure_modules(): - spec = importlib.util.spec_from_file_location( diff --git a/dev-python/pipenv/files/pipenv-2023.4.29-append-always-install.patch b/dev-python/pipenv/files/pipenv-2023.4.29-append-always-install.patch deleted file mode 100644 index 25a9c604e5b4..000000000000 --- a/dev-python/pipenv/files/pipenv-2023.4.29-append-always-install.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff --git a/pipenv/routines/install.py b/pipenv/routines/install.py -index 4b8b2bf8c..a3e1fbcf7 100644 ---- a/pipenv/routines/install.py -+++ b/pipenv/routines/install.py -@@ -580,6 +580,14 @@ def batch_install_iteration( - strip_extras_markers_from_requirement, - ) - -+ # Gentoo patch: -+ # Install dependencies into the venv even if they exist -+ # in the system. -+ # This is needed because pipenv imports the system packages to run. -+ # It does not change your system's packages. -+ if (extra_pip_args is not None) and ("-I" not in extra_pip_args): -+ extra_pip_args.append("-I") -+ - is_artifact = False - for dep in deps_to_install: - if dep.req.req: diff --git a/dev-python/pipenv/files/pipenv-2023.7.11-fix-imports-utils.patch b/dev-python/pipenv/files/pipenv-2023.7.11-fix-imports-utils.patch deleted file mode 100644 index 2e348bf8e440..000000000000 --- a/dev-python/pipenv/files/pipenv-2023.7.11-fix-imports-utils.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/pipenv/utils/environment.py b/pipenv/utils/environment.py -index 2e066eef2..219d8f9e5 100644 ---- a/pipenv/utils/environment.py -+++ b/pipenv/utils/environment.py -@@ -1,7 +1,9 @@ - import os - -+import click -+import dotenv -+ - from pipenv import environments --from pipenv.vendor import click, dotenv - - - def load_dot_env(project, as_dict=False, quiet=False): diff --git a/dev-python/pipenv/files/pipenv-2023.7.11-fix-imports.patch b/dev-python/pipenv/files/pipenv-2023.7.11-fix-imports.patch deleted file mode 100644 index a437d55b6964..000000000000 --- a/dev-python/pipenv/files/pipenv-2023.7.11-fix-imports.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff --git a/pipenv/environment.py b/pipenv/environment.py -index dbb89b011..89f2aaf9e 100644 ---- a/pipenv/environment.py -+++ b/pipenv/environment.py -@@ -14,7 +14,9 @@ from sysconfig import get_paths, get_python_version, get_scheme_names - from urllib.parse import urlparse - from urllib.request import url2pathname - -+import click - import pipenv -+ - from pipenv.patched.pip._internal.commands.install import InstallCommand - from pipenv.patched.pip._internal.index.package_finder import PackageFinder - from pipenv.patched.pip._vendor import pkg_resources -@@ -23,7 +25,6 @@ from pipenv.utils.funktools import chunked, unnest - from pipenv.utils.indexes import prepare_pip_source_args - from pipenv.utils.processes import subprocess_run - from pipenv.utils.shell import make_posix --from pipenv.vendor import click - from pipenv.vendor.pythonfinder.utils import is_in_path - from pipenv.vendor.requirementslib.fileutils import normalize_path, temp_path - from pipenv.vendor.requirementslib.utils import temp_environ -diff --git a/pipenv/project.py b/pipenv/project.py -index f865988b9..e8714ef63 100644 ---- a/pipenv/project.py -+++ b/pipenv/project.py -@@ -44,9 +44,11 @@ from pipenv.utils.shell import ( - system_which, - ) - from pipenv.utils.toml import cleanup_toml, convert_toml_outline_tables --from pipenv.vendor import click, plette, tomlkit -+from pipenv.vendor import plette - from pipenv.vendor.requirementslib.models.utils import get_default_pyproject_backend - -+import click, tomlkit -+ - try: - # this is only in Python3.8 and later - from functools import cached_property diff --git a/dev-python/pipenv/pipenv-2023.11.15.ebuild b/dev-python/pipenv/pipenv-2023.11.15.ebuild deleted file mode 100644 index 8201894fcfd6..000000000000 --- a/dev-python/pipenv/pipenv-2023.11.15.ebuild +++ /dev/null @@ -1,126 +0,0 @@ -# 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 ~riscv" - -PATCHES=( - "${FILESDIR}/pipenv-2023.9.8-inject-system-packages.patch" - "${FILESDIR}/pipenv-2023.9.8-append-always-install-to-pip-extra-args.patch" - "${FILESDIR}/pipenv-2023.11.15-fix-import-path-PackageDAG.patch" -) - -RDEPEND=" - >=dev-python/cerberus-1.3.2[${PYTHON_USEDEP}] - 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/markupsafe-2.0.1[${PYTHON_USEDEP}] - >=dev-python/pexpect-4.8.0[${PYTHON_USEDEP}] - dev-python/pipdeptree[${PYTHON_USEDEP}] - dev-python/plette[${PYTHON_USEDEP}] - >=dev-python/ptyprocess-0.7.0[${PYTHON_USEDEP}] - =dev-python/python-dateutil-2.8.2[${PYTHON_USEDEP}] - >=dev-python/python-dotenv-0.21.0[${PYTHON_USEDEP}] - >=dev-python/virtualenv-20.0.35[${PYTHON_USEDEP}] - >=dev-python/requests-2.26.0[${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 ) - 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/ -} diff --git a/dev-python/pipenv/pipenv-2023.12.1.ebuild b/dev-python/pipenv/pipenv-2023.12.1.ebuild new file mode 100644 index 000000000000..d0ad291f22a8 --- /dev/null +++ b/dev-python/pipenv/pipenv-2023.12.1.ebuild @@ -0,0 +1,123 @@ +# 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 ~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/markupsafe-2.0.1[${PYTHON_USEDEP}] + >=dev-python/pexpect-4.8.0[${PYTHON_USEDEP}] + dev-python/pipdeptree[${PYTHON_USEDEP}] + ~dev-python/plette-0.4.4[${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/virtualenv-20.0.35[${PYTHON_USEDEP}] + >=dev-python/requests-2.26.0[${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 ) + 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/ +} diff --git a/dev-python/pipenv/pipenv-2023.7.11.ebuild b/dev-python/pipenv/pipenv-2023.7.11.ebuild deleted file mode 100644 index 754900f42659..000000000000 --- a/dev-python/pipenv/pipenv-2023.7.11.ebuild +++ /dev/null @@ -1,108 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{8..11} ) - -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 ~riscv ~x86" - -PATCHES=( - "${FILESDIR}/pipenv-2022.9.24-inject-site-packages.patch" - "${FILESDIR}/pipenv-2023.4.29-append-always-install.patch" - "${FILESDIR}/pipenv-2023.7.11-fix-imports.patch" - "${FILESDIR}/pipenv-2023.7.11-fix-imports-utils.patch" -) - -RDEPEND=" - dev-python/attrs[${PYTHON_USEDEP}] - >=dev-python/cerberus-1.3.2[${PYTHON_USEDEP}] - dev-python/click[${PYTHON_USEDEP}] - >=dev-python/colorama-0.4.4[${PYTHON_USEDEP}] - >=dev-python/markupsafe-2.0.1[${PYTHON_USEDEP}] - >=dev-python/pexpect-4.8.0[${PYTHON_USEDEP}] - >=dev-python/ptyprocess-0.7.0[${PYTHON_USEDEP}] - dev-python/pyparsing[${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/virtualenv-20.0.35[${PYTHON_USEDEP}] - dev-python/virtualenv-clone[${PYTHON_USEDEP}] - >=dev-python/requests-2.26.0[${PYTHON_USEDEP}] - dev-python/ruamel-yaml[${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() { - local pkgName - local jobs=$(makeopts_jobs) - local packages=( attr attrs cerberus colorama dotenv markupsafe \ - pexpect ptyprocess pyparsing requests urllib3 tomlkit ) - 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" || 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 README.rst ruamel.*.LICENSE vendor.txt; do - rm -v pipenv/vendor/$fname || die "Failed removing pipenv/vendor/$fname" - done - -} - -python_test() { - epytest -m "not cli and not needs_internet" tests/unit/ -} -- cgit v1.2.3