mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
dev-python/pipenv: Remove old
Signed-off-by: Michał Górny <mgorny@gentoo.org>
This commit is contained in:
@@ -1,3 +1 @@
|
||||
DIST pipenv-2021.11.23.tar.gz 11378116 BLAKE2B aa30c86aa3b20333d0bffc8c49761869cc9e86b69920abe5e58a0aa7ccf35a8faf6b8b29ce408c85239624a999ca4e67f4a687e1e9aa15271bea31a135acdb7d SHA512 3873a3e7de33677b63bb133e397f46030ec28a24479b38009a4c409d93277327e8f53694fa56fdb8120f9cd632e849fde6f4205e29d9f5704c8844101e8e8298
|
||||
DIST pipenv-2022.1.8.tar.gz 11379235 BLAKE2B b73df14688ebe6d0c6153c64c2f3cd5106f184466061177cebfac120fc49af403a5d27919a8ff0e5a40e04a9950ab9949938c1d4c8d0c1a4df98440a3a2a2ae0 SHA512 9bad380548723172eddbbb9ebfc35a46effbd8eeeff47ad347d0ab5ae9f52e20de8dfc205dab6fb8ae8763edc488cf867a64ed443895242feb444d1bc0d9b8e0
|
||||
DIST pipenv-2022.4.8.tar.gz 11822017 BLAKE2B b647bf5dbbdb6a38ace41bc58c3178199c0c7cada826f18d0f58c6f3cd60290fa714ca434d19cf468cf316d51ac0895460cb007d677b53462a7efc86f3d3bb2e SHA512 8c0ed65b9431b785f86bc4fa0a0a55d96228ed2f9483805536fa3056853dbfabeac02578f694e9a3f2e00be579183d10dcbb957fb834d475e1621de6a05ebd2e
|
||||
|
||||
@@ -1,162 +0,0 @@
|
||||
From eefc2db1adcfdd9afc1955c81d73dc3d32c65a57 Mon Sep 17 00:00:00 2001
|
||||
From: Oz N Tiram <oz.tiram@gmail.com>
|
||||
Date: Sun, 9 Jan 2022 23:52:06 +0100
|
||||
Subject: [PATCH] Remove vendored first
|
||||
|
||||
While first is nice to have, it adds a lot of code in vendor.
|
||||
This patch achieves the same with less code in vendor (~80 lines less).
|
||||
---
|
||||
pipenv/core.py | 4 +-
|
||||
pipenv/vendor/first.LICENSE | 19 ---------
|
||||
pipenv/vendor/first.py | 78 -------------------------------------
|
||||
pipenv/vendor/vendor.txt | 1 -
|
||||
4 files changed, 2 insertions(+), 100 deletions(-)
|
||||
delete mode 100644 pipenv/vendor/first.LICENSE
|
||||
delete mode 100644 pipenv/vendor/first.py
|
||||
|
||||
diff --git a/pipenv/core.py b/pipenv/core.py
|
||||
index 92811f74..1c04047c 100644
|
||||
--- a/pipenv/core.py
|
||||
+++ b/pipenv/core.py
|
||||
@@ -2525,7 +2525,6 @@ def do_check(
|
||||
args=None,
|
||||
pypi_mirror=None
|
||||
):
|
||||
- from first import first
|
||||
from pipenv.vendor.vistir.compat import JSONDecodeError
|
||||
|
||||
if not system:
|
||||
@@ -2569,7 +2568,8 @@ def do_check(
|
||||
if not system:
|
||||
python = project._which("python")
|
||||
else:
|
||||
- python = first(system_which(p) for p in ("python", "python3", "python2"))
|
||||
+ interpreters = [system_which(p) for p in ("python", "python3", "python2")]
|
||||
+ python = interpreters[0] if interpreters else None
|
||||
if not python:
|
||||
click.echo(crayons.red("The Python interpreter can't be found."), err=True)
|
||||
sys.exit(1)
|
||||
diff --git a/pipenv/vendor/first.LICENSE b/pipenv/vendor/first.LICENSE
|
||||
deleted file mode 100644
|
||||
index a9c8c9db..00000000
|
||||
--- a/pipenv/vendor/first.LICENSE
|
||||
+++ /dev/null
|
||||
@@ -1,19 +0,0 @@
|
||||
-Copyright (c) 2012 Hynek Schlawack
|
||||
-
|
||||
-Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
-this software and associated documentation files (the "Software"), to deal in
|
||||
-the Software without restriction, including without limitation the rights to
|
||||
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||
-of the Software, and to permit persons to whom the Software is furnished to do
|
||||
-so, subject to the following conditions:
|
||||
-
|
||||
-The above copyright notice and this permission notice shall be included in all
|
||||
-copies or substantial portions of the Software.
|
||||
-
|
||||
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
-SOFTWARE.
|
||||
diff --git a/pipenv/vendor/first.py b/pipenv/vendor/first.py
|
||||
deleted file mode 100644
|
||||
index 8cf9d2d1..00000000
|
||||
--- a/pipenv/vendor/first.py
|
||||
+++ /dev/null
|
||||
@@ -1,78 +0,0 @@
|
||||
-## -*- coding: utf-8 -*-
|
||||
-
|
||||
-"""
|
||||
-first
|
||||
-=====
|
||||
-
|
||||
-first is the function you always missed in Python.
|
||||
-
|
||||
-In the simplest case, it returns the first true element from an iterable:
|
||||
-
|
||||
->>> from first import first
|
||||
->>> first([0, False, None, [], (), 42])
|
||||
-42
|
||||
-
|
||||
-Or None if there is none:
|
||||
-
|
||||
->>> from first import first
|
||||
->>> first([]) is None
|
||||
-True
|
||||
->>> first([0, False, None, [], ()]) is None
|
||||
-True
|
||||
-
|
||||
-It also supports the passing of a key argument to help selecting the first
|
||||
-match in a more advanced way.
|
||||
-
|
||||
->>> from first import first
|
||||
->>> first([1, 1, 3, 4, 5], key=lambda x: x % 2 == 0)
|
||||
-4
|
||||
-
|
||||
-:copyright: (c) 2012 by Hynek Schlawack.
|
||||
-:license: MIT, see LICENSE for more details.
|
||||
-
|
||||
-"""
|
||||
-
|
||||
-__title__ = 'first'
|
||||
-__version__ = '2.0.2'
|
||||
-__author__ = 'Hynek Schlawack'
|
||||
-__license__ = 'MIT'
|
||||
-__copyright__ = 'Copyright 2012 Hynek Schlawack'
|
||||
-
|
||||
-
|
||||
-def first(iterable, default=None, key=None):
|
||||
- """
|
||||
- Return first element of `iterable` that evaluates true, else return None
|
||||
- (or an optional default value).
|
||||
-
|
||||
- >>> first([0, False, None, [], (), 42])
|
||||
- 42
|
||||
-
|
||||
- >>> first([0, False, None, [], ()]) is None
|
||||
- True
|
||||
-
|
||||
- >>> first([0, False, None, [], ()], default='ohai')
|
||||
- 'ohai'
|
||||
-
|
||||
- >>> import re
|
||||
- >>> m = first(re.match(regex, 'abc') for regex in ['b.*', 'a(.*)'])
|
||||
- >>> m.group(1)
|
||||
- 'bc'
|
||||
-
|
||||
- The optional `key` argument specifies a one-argument predicate function
|
||||
- like that used for `filter()`. The `key` argument, if supplied, must be
|
||||
- in keyword form. For example:
|
||||
-
|
||||
- >>> first([1, 1, 3, 4, 5], key=lambda x: x % 2 == 0)
|
||||
- 4
|
||||
-
|
||||
- """
|
||||
- if key is None:
|
||||
- for el in iterable:
|
||||
- if el:
|
||||
- return el
|
||||
- else:
|
||||
- for el in iterable:
|
||||
- if key(el):
|
||||
- return el
|
||||
-
|
||||
- return default
|
||||
diff --git a/pipenv/vendor/vendor.txt b/pipenv/vendor/vendor.txt
|
||||
index 0530062e..3d7b39ea 100644
|
||||
--- a/pipenv/vendor/vendor.txt
|
||||
+++ b/pipenv/vendor/vendor.txt
|
||||
@@ -10,7 +10,6 @@ colorama==0.4.4
|
||||
distlib==0.3.2
|
||||
docopt==0.6.2
|
||||
dparse==0.5.1
|
||||
-first==2.0.2
|
||||
funcsigs==1.0.2
|
||||
idna==3.2
|
||||
importlib-metadata==4.6.1
|
||||
--
|
||||
2.32.0
|
||||
|
||||
@@ -1,81 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_SETUPTOOLS=rdepend
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
|
||||
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}.tar.gz"
|
||||
S="${WORKDIR}"/${PN}-${MY_PV}
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
${PYTHON_DEPS}
|
||||
dev-python/attrs[${PYTHON_USEDEP}]
|
||||
>=dev-python/colorama-0.4.4[${PYTHON_USEDEP}]
|
||||
>=dev-python/idna-3.2[${PYTHON_USEDEP}]
|
||||
>=dev-python/pexpect-4.8.0[${PYTHON_USEDEP}]
|
||||
dev-python/pip[${PYTHON_USEDEP}]
|
||||
>=dev-python/python-dateutil-2.8.2[${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/urllib3-1.26.7[${PYTHON_USEDEP}]
|
||||
>=dev-python/wheel-0.36.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/zipp-3.6.0[${PYTHON_USEDEP}]
|
||||
"
|
||||
|
||||
BDEPEND="
|
||||
${RDEPEND}
|
||||
test? (
|
||||
dev-python/flaky[${PYTHON_USEDEP}]
|
||||
dev-python/mock[${PYTHON_USEDEP}]
|
||||
dev-python/pytest[${PYTHON_USEDEP}]
|
||||
dev-python/pytz[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
# 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 jobs=$(makeopts_jobs)
|
||||
local packages=( attr colorama idna pexpect dateutil requests urllib3 zipp )
|
||||
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'
|
||||
done
|
||||
assert "Failed to sed sources"
|
||||
|
||||
distutils-r1_src_prepare
|
||||
|
||||
# remove vendored versions
|
||||
for pkgName in ${packages[@]}; do
|
||||
find ./pipenv/vendor/ -name "${pkgName}*" -prune -exec rm -rvf {} + || die
|
||||
done
|
||||
|
||||
# not actually used by pipenv, but included in pipenv
|
||||
rm -vR "${S}/${PN}/vendor/wheel/" || die
|
||||
}
|
||||
|
||||
python_test() {
|
||||
pytest -vvv -x -m "not cli and not needs_internet" tests/unit/ || die
|
||||
}
|
||||
@@ -1,99 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_SETUPTOOLS=rdepend
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
|
||||
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}.tar.gz"
|
||||
S="${WORKDIR}"/${PN}-${MY_PV}
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~riscv ~x86"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-${PV//./-}-remove-first-vendor-import.patch"
|
||||
)
|
||||
|
||||
RDEPEND="
|
||||
${PYTHON_DEPS}
|
||||
dev-python/attrs[${PYTHON_USEDEP}]
|
||||
dev-python/cached-property[${PYTHON_USEDEP}]
|
||||
>=dev-python/cerberus-1.3.2[${PYTHON_USEDEP}]
|
||||
>=dev-python/colorama-0.4.4[${PYTHON_USEDEP}]
|
||||
dev-python/docopt[${PYTHON_USEDEP}]
|
||||
>=dev-python/idna-3.2[${PYTHON_USEDEP}]
|
||||
>=dev-python/pexpect-4.8.0[${PYTHON_USEDEP}]
|
||||
dev-python/pip[${PYTHON_USEDEP}]
|
||||
>=dev-python/python-dateutil-2.8.2[${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/toml[${PYTHON_USEDEP}]
|
||||
>=dev-python/tomli-1.2.2[${PYTHON_USEDEP}]
|
||||
<dev-python/tomli-2[${PYTHON_USEDEP}]
|
||||
>=dev-python/urllib3-1.26.7[${PYTHON_USEDEP}]
|
||||
>=dev-python/wheel-0.36.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/zipp-3.6.0[${PYTHON_USEDEP}]
|
||||
"
|
||||
|
||||
BDEPEND="
|
||||
${RDEPEND}
|
||||
test? (
|
||||
dev-python/flaky[${PYTHON_USEDEP}]
|
||||
dev-python/mock[${PYTHON_USEDEP}]
|
||||
dev-python/pytest[${PYTHON_USEDEP}]
|
||||
dev-python/pytz[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
# 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 jobs=$(makeopts_jobs)
|
||||
local packages=( attr cerberus cached_property colorama docopt first idna pexpect dateutil requests \
|
||||
toml tomli urllib3 zipp )
|
||||
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'
|
||||
done
|
||||
assert "Failed to sed sources"
|
||||
|
||||
distutils-r1_src_prepare
|
||||
|
||||
# remove vendored versions
|
||||
for pkgName in ${packages[@]}; do
|
||||
# remove all packages toml* also catches tomlkit. Remove this when tomlkit is stable
|
||||
find ./pipenv/vendor -maxdepth 1 ! -name tomlkit -name "${pkgName}*" -prune -exec rm -rvf {} + || die
|
||||
# find ./pipenv/vendor -maxdepth 1 ! -name tomlkit -name "${pkgName}*" -print
|
||||
|
||||
# package names can be foo-bar, their module will be however foo_bar
|
||||
find ./pipenv/vendor/ -maxdepth 1 ! -name tomlkit -name "${pkgName/_/-}*" -prune -exec rm -rvf {} + || die
|
||||
|
||||
done
|
||||
|
||||
# not actually used by pipenv, but included in pipenv
|
||||
rm -vR "${S}/${PN}/vendor/wheel/" || die
|
||||
}
|
||||
|
||||
python_test() {
|
||||
pytest -vvv -x -m "not cli and not needs_internet" tests/unit/ || die
|
||||
}
|
||||
Reference in New Issue
Block a user