summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/pipenv/files/pipenv-2022-1-8-remove-first-vendor-import.patch')
-rw-r--r--dev-python/pipenv/files/pipenv-2022-1-8-remove-first-vendor-import.patch162
1 files changed, 162 insertions, 0 deletions
diff --git a/dev-python/pipenv/files/pipenv-2022-1-8-remove-first-vendor-import.patch b/dev-python/pipenv/files/pipenv-2022-1-8-remove-first-vendor-import.patch
new file mode 100644
index 000000000000..a8ff7d107f9c
--- /dev/null
+++ b/dev-python/pipenv/files/pipenv-2022-1-8-remove-first-vendor-import.patch
@@ -0,0 +1,162 @@
+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
+