diff --git a/.gitignore b/.gitignore index 6fa8483..5c2777e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /pipenv-11.10.4.tar.gz /pipenv-2018.7.1.tar.gz +/pipenv-2018.11.14.tar.gz diff --git a/0001-pypi-fixtures.patch b/0001-pypi-fixtures.patch deleted file mode 100644 index d3ab276..0000000 --- a/0001-pypi-fixtures.patch +++ /dev/null @@ -1,136 +0,0 @@ -commit a69b35f9ed9e156da0d9519e88b735b0a82daaae -Author: Michal Cyprian -Date: Fri May 11 10:37:35 2018 +0200 - - Add fixture imports - -diff --git a/tests/integration/test_cli.py b/tests/integration/test_cli.py -index a51095c..0bc8902 100644 ---- a/tests/integration/test_cli.py -+++ b/tests/integration/test_cli.py -@@ -8,6 +8,8 @@ import pytest - from flaky import flaky - from pipenv.utils import normalize_drive - -+from .fixtures.plugin import pypi, pypi_secure -+ - - @pytest.mark.cli - def test_pipenv_where(PipenvInstance, pypi_secure): -diff --git a/tests/integration/test_dot_venv.py b/tests/integration/test_dot_venv.py -index 0b4cb48..e545d01 100644 ---- a/tests/integration/test_dot_venv.py -+++ b/tests/integration/test_dot_venv.py -@@ -6,6 +6,8 @@ from pipenv.vendor import delegator - - import pytest - -+from .fixtures.plugin import pypi -+ - - @pytest.mark.dotvenv - def test_venv_in_project(PipenvInstance, pypi): -diff --git a/tests/integration/test_install_basic.py b/tests/integration/test_install_basic.py -index d4e967d..47670df 100644 ---- a/tests/integration/test_install_basic.py -+++ b/tests/integration/test_install_basic.py -@@ -10,6 +10,8 @@ import pytest - - from flaky import flaky - -+from .fixtures.plugin import pypi -+ - - @pytest.mark.install - @pytest.mark.setup -diff --git a/tests/integration/test_install_markers.py b/tests/integration/test_install_markers.py -index ee83179..58f29f2 100644 ---- a/tests/integration/test_install_markers.py -+++ b/tests/integration/test_install_markers.py -@@ -9,6 +9,8 @@ import pytest - - from flaky import flaky - -+from .fixtures.plugin import pypi -+ - - py3_only = pytest.mark.skipif(sys.version_info < (3, 0), reason="requires Python3") - skip_py37 = pytest.mark.skipif(sys.version_info >= (3, 7), reason="Skip for python 3.7") -diff --git a/tests/integration/test_install_twists.py b/tests/integration/test_install_twists.py -index 95d67da..adce703 100644 ---- a/tests/integration/test_install_twists.py -+++ b/tests/integration/test_install_twists.py -@@ -9,6 +9,8 @@ import pytest - - from flaky import flaky - -+from .fixtures.plugin import pypi -+ - - @pytest.mark.extras - @pytest.mark.install -diff --git a/tests/integration/test_install_uri.py b/tests/integration/test_install_uri.py -index df2d44d..d27d690 100644 ---- a/tests/integration/test_install_uri.py -+++ b/tests/integration/test_install_uri.py -@@ -4,6 +4,8 @@ from flaky import flaky - import delegator - from pipenv._compat import Path - -+from .fixtures.plugin import pypi -+ - - @pytest.mark.vcs - @pytest.mark.install -diff --git a/tests/integration/test_lock.py b/tests/integration/test_lock.py -index 1ab34f1..95de475 100644 ---- a/tests/integration/test_lock.py -+++ b/tests/integration/test_lock.py -@@ -6,6 +6,8 @@ from pipenv.utils import temp_environ - - from flaky import flaky - -+from .fixtures.plugin import pypi -+ - - @pytest.mark.lock - @pytest.mark.requirements -diff --git a/tests/integration/test_pipenv.py b/tests/integration/test_pipenv.py -index 4734cbd..75a0a9d 100644 ---- a/tests/integration/test_pipenv.py -+++ b/tests/integration/test_pipenv.py -@@ -14,6 +14,8 @@ from pipenv.project import Project - from pipenv.vendor import delegator - from pipenv._compat import Path - -+from .fixtures.plugin import pypi -+ - - @pytest.mark.code - @pytest.mark.install -diff --git a/tests/integration/test_sync.py b/tests/integration/test_sync.py -index 401eadf..0799154 100644 ---- a/tests/integration/test_sync.py -+++ b/tests/integration/test_sync.py -@@ -4,6 +4,8 @@ from pipenv.utils import temp_environ - - import pytest - -+from .fixtures.plugin import pypi -+ - - @pytest.mark.sync - def test_sync_error_without_lockfile(PipenvInstance, pypi): -diff --git a/tests/integration/test_uninstall.py b/tests/integration/test_uninstall.py -index e51894a..dffbdbc 100644 ---- a/tests/integration/test_uninstall.py -+++ b/tests/integration/test_uninstall.py -@@ -5,6 +5,8 @@ from pipenv.utils import temp_environ - - import pytest - -+from .fixtures.plugin import pypi -+ - - @pytest.mark.run - @pytest.mark.uninstall diff --git a/0002-fix-imports-of-unbundled-pkgs.patch b/0002-fix-imports-of-unbundled-pkgs.patch index 15066e4..780c6f5 100644 --- a/0002-fix-imports-of-unbundled-pkgs.patch +++ b/0002-fix-imports-of-unbundled-pkgs.patch @@ -1,35 +1,155 @@ +diff --git a/pipenv/__init__.py b/pipenv/__init__.py +index 4d137e7..1e5230b 100644 +--- a/pipenv/__init__.py ++++ b/pipenv/__init__.py +@@ -18,7 +18,7 @@ sys.path.insert(0, PIPENV_VENDOR) + # Inject patched directory into system path. + sys.path.insert(0, PIPENV_PATCHED) + +-from pipenv.vendor.urllib3.exceptions import DependencyWarning ++from urllib3.exceptions import DependencyWarning + from pipenv.vendor.vistir.compat import ResourceWarning, fs_str + warnings.filterwarnings("ignore", category=DependencyWarning) + warnings.filterwarnings("ignore", category=ResourceWarning) +diff --git a/pipenv/core.py b/pipenv/core.py +index f815e5d..3458b72 100644 +--- a/pipenv/core.py ++++ b/pipenv/core.py +@@ -1260,7 +1260,7 @@ def pip_install( + ): + from pipenv.patched.notpip._internal import logger as piplogger + from .utils import Mapping +- from .vendor.urllib3.util import parse_url ++ from urllib3.util import parse_url + + src = [] + write_to_tmpfile = False +diff --git a/pipenv/exceptions.py b/pipenv/exceptions.py +index 62e25d5..00da817 100644 +--- a/pipenv/exceptions.py ++++ b/pipenv/exceptions.py +@@ -11,9 +11,9 @@ import six + from ._compat import fix_utf8 + from .patched import crayons + from . import environments +-from .vendor.click.utils import echo as click_echo +-from .vendor.click._compat import get_text_stderr +-from .vendor.click.exceptions import ( ++from click.utils import echo as click_echo ++from click._compat import get_text_stderr ++from click.exceptions import ( + Abort, + BadOptionUsage, + BadParameter, +@@ -23,7 +23,7 @@ from .vendor.click.exceptions import ( + MissingParameter, + UsageError, + ) +-from .vendor.click.types import Path ++from click.types import Path + + + def handle_exception(exc_type, exception, traceback, hook=sys.excepthook): +diff --git a/pipenv/patched/piptools/_compat/pip_compat.py b/pipenv/patched/piptools/_compat/pip_compat.py +index c466ef0..e2782f2 100644 +--- a/pipenv/patched/piptools/_compat/pip_compat.py ++++ b/pipenv/patched/piptools/_compat/pip_compat.py +@@ -24,7 +24,7 @@ __all__ = [ + "user_cache_dir" + ] + +-from pipenv.vendor.appdirs import user_cache_dir ++from appdirs import user_cache_dir + from pip_shims.shims import ( + InstallRequirement, + parse_requirements, +diff --git a/pipenv/resolver.py b/pipenv/resolver.py +index e87f324..cc42918 100644 +--- a/pipenv/resolver.py ++++ b/pipenv/resolver.py +@@ -121,6 +121,6 @@ def main(): + + if __name__ == "__main__": + _patch_path() +- from pipenv.vendor import colorama ++ import colorama + colorama.init() + main() +diff --git a/pipenv/shells.py b/pipenv/shells.py +index 352c01f..78bced8 100644 +--- a/pipenv/shells.py ++++ b/pipenv/shells.py +@@ -8,7 +8,7 @@ import sys + from .environments import PIPENV_SHELL_EXPLICIT, PIPENV_SHELL, PIPENV_EMULATOR + from .vendor.vistir.compat import get_terminal_size, Path + from .vendor.vistir.contextmanagers import temp_environ +-from .vendor import shellingham ++import shellingham + + + ShellDetectionFailure = shellingham.ShellDetectionFailure diff --git a/pipenv/utils.py b/pipenv/utils.py -index 60c12cb..ef2555d 100644 +index 9f62e2b..2a289cb 100644 --- a/pipenv/utils.py +++ b/pipenv/utils.py -@@ -218,7 +218,7 @@ def prepare_pip_source_args(sources, pip_args=None): - def actually_resolve_deps( - deps, index_lookup, markers_lookup, project, sources, verbose, clear, pre, req_dir=None - ): -- from .vendor.packaging.markers import default_environment -+ from packaging.markers import default_environment - from .patched.notpip._internal import basecommand - from .patched.notpip._internal.cmdoptions import no_binary, only_binary - from .patched.notpip._internal.req import parse_requirements +@@ -390,7 +390,7 @@ class Resolver(object): + + def resolve(self): + from pipenv.vendor.pip_shims.shims import DistributionNotFound +- from pipenv.vendor.requests.exceptions import HTTPError ++ from requests.exceptions import HTTPError + from pipenv.patched.piptools.exceptions import NoCandidateFound + from pipenv.patched.piptools.cache import CorruptCacheError + from .exceptions import CacheError, ResolutionFailure +@@ -490,7 +490,7 @@ def create_spinner(text, nospin=None, spinner_name=None): + def resolve(cmd, sp): + from .vendor import delegator + from .cmdparse import Script +- from .vendor.pexpect.exceptions import EOF, TIMEOUT ++ from pexpect.exceptions import EOF, TIMEOUT + from .vendor.vistir.compat import to_native_string + EOF.__module__ = "pexpect.exceptions" + from ._compat import decode_output +@@ -665,7 +665,7 @@ def resolve_deps( + """Given a list of dependencies, return a resolved list of dependencies, + using pip-tools -- and their hashes, using the warehouse API / pip. + """ +- from .vendor.requests.exceptions import ConnectionError ++ from requests.exceptions import ConnectionError + from .vendor.requirementslib.models.requirements import Requirement + + index_lookup = {} +@@ -1291,8 +1291,8 @@ def translate_markers(pipfile_entry): + """ + if not isinstance(pipfile_entry, Mapping): + raise TypeError("Entry is not a pipfile formatted mapping.") +- from .vendor.distlib.markers import DEFAULT_CONTEXT as marker_context +- from .vendor.packaging.markers import Marker ++ from distlib.markers import DEFAULT_CONTEXT as marker_context ++ from packaging.markers import Marker + from .vendor.vistir.misc import dedup + + allowed_marker_keys = ["markers"] + [k for k in marker_context.keys()] diff --git a/tests/integration/conftest.py b/tests/integration/conftest.py -index d71f0f8..dd31adf 100644 +index 6ed95b3..8ac6a4d 100644 --- a/tests/integration/conftest.py +++ b/tests/integration/conftest.py -@@ -1,14 +1,14 @@ +@@ -1,15 +1,16 @@ import json import os - import warnings +import requests -+import six + import sys +import toml + import warnings import pytest from pipenv._compat import TemporaryDirectory, Path from pipenv.vendor import delegator -from pipenv.vendor import requests --from pipenv.vendor import six -from pipenv.vendor import toml + from pytest_pypi.app import prepare_packages as prepare_pypi_packages ++from pytest_pypi.plugin import pypi, pypi_secure + from vistir.compat import ResourceWarning, fs_str + from vistir.path import mkdir_p - if six.PY2: - class ResourceWarning(Warning): diff --git a/0003-rpmfail-pytest-marker.patch b/0003-rpmfail-pytest-marker.patch index 201bb3f..32520b9 100644 --- a/0003-rpmfail-pytest-marker.patch +++ b/0003-rpmfail-pytest-marker.patch @@ -1,24 +1,24 @@ diff --git a/tests/integration/test_cli.py b/tests/integration/test_cli.py -index 0bc8902..1bdd400 100644 +index 7ebcee1..fc09de5 100644 --- a/tests/integration/test_cli.py +++ b/tests/integration/test_cli.py @@ -17,6 +17,7 @@ def test_pipenv_where(PipenvInstance, pypi_secure): - assert normalize_drive(p.path) in p.pipenv('--where').out + assert normalize_drive(p.path) in c.out +@pytest.mark.rpmfail @pytest.mark.cli def test_pipenv_venv(PipenvInstance): with PipenvInstance() as p: -@@ -39,6 +40,7 @@ def test_pipenv_support(PipenvInstance): - assert p.pipenv('--support').out +@@ -47,6 +48,7 @@ def test_pipenv_support(PipenvInstance): + assert c.out +@pytest.mark.rpmfail @pytest.mark.cli def test_pipenv_rm(PipenvInstance): with PipenvInstance() as p: -@@ -50,6 +52,7 @@ def test_pipenv_rm(PipenvInstance): +@@ -63,6 +65,7 @@ def test_pipenv_rm(PipenvInstance): assert not os.path.isdir(venv_path) @@ -26,27 +26,35 @@ index 0bc8902..1bdd400 100644 @pytest.mark.cli def test_pipenv_graph(PipenvInstance, pypi): with PipenvInstance(pypi=pypi) as p: -@@ -59,6 +62,7 @@ def test_pipenv_graph(PipenvInstance, pypi): - assert 'requests' in p.pipenv('graph --json-tree').out +@@ -79,6 +82,7 @@ def test_pipenv_graph(PipenvInstance, pypi): + assert "requests" in graph_json_tree.out +@pytest.mark.rpmfail @pytest.mark.cli def test_pipenv_graph_reverse(PipenvInstance, pypi): with PipenvInstance(pypi=pypi) as p: +@@ -125,6 +129,7 @@ def test_pipenv_check(PipenvInstance, pypi): + assert 'Ignoring' in c.err + + ++@pytest.mark.rpmfail + @pytest.mark.cli + def test_pipenv_clean_pip_no_warnings(PipenvInstance): + with PipenvInstance(chdir=True) as p: diff --git a/tests/integration/test_dot_venv.py b/tests/integration/test_dot_venv.py -index e545d01..866a337 100644 +index 53f5fb1..1b885fd 100644 --- a/tests/integration/test_dot_venv.py +++ b/tests/integration/test_dot_venv.py -@@ -9,6 +9,7 @@ import pytest - from .fixtures.plugin import pypi +@@ -8,6 +8,7 @@ from pipenv.vendor import delegator + import pytest +@pytest.mark.rpmfail @pytest.mark.dotvenv def test_venv_in_project(PipenvInstance, pypi): with temp_environ(): -@@ -19,6 +20,7 @@ def test_venv_in_project(PipenvInstance, pypi): +@@ -18,6 +19,7 @@ def test_venv_in_project(PipenvInstance, pypi): assert normalize_drive(p.path) in p.pipenv('--venv').out @@ -54,7 +62,7 @@ index e545d01..866a337 100644 @pytest.mark.dotvenv def test_venv_at_project_root(PipenvInstance): with temp_environ(): -@@ -34,6 +36,7 @@ def test_venv_at_project_root(PipenvInstance): +@@ -33,6 +35,7 @@ def test_venv_at_project_root(PipenvInstance): assert normalize_drive(p.path) in p.pipenv('--venv').out @@ -63,10 +71,10 @@ index e545d01..866a337 100644 def test_reuse_previous_venv(PipenvInstance, pypi): with PipenvInstance(chdir=True, pypi=pypi) as p: diff --git a/tests/integration/test_install_basic.py b/tests/integration/test_install_basic.py -index 47670df..7536b35 100644 +index c49a936..c82fd3c 100644 --- a/tests/integration/test_install_basic.py +++ b/tests/integration/test_install_basic.py -@@ -31,7 +31,7 @@ def test_basic_setup(PipenvInstance, pypi): +@@ -28,7 +28,7 @@ def test_basic_setup(PipenvInstance, pypi): @pytest.mark.install @@ -74,18 +82,18 @@ index 47670df..7536b35 100644 +@pytest.mark.rpmfail def test_basic_install(PipenvInstance, pypi): with PipenvInstance(pypi=pypi) as p: - c = p.pipenv('install requests') -@@ -44,8 +44,8 @@ def test_basic_install(PipenvInstance, pypi): - assert 'certifi' in p.lockfile['default'] + c = p.pipenv("install requests") +@@ -41,8 +41,8 @@ def test_basic_install(PipenvInstance, pypi): + assert "certifi" in p.lockfile["default"] +@pytest.mark.rpmfail @pytest.mark.install -@flaky def test_mirror_install(PipenvInstance, pypi): - with temp_environ(), PipenvInstance(chdir=True) as p: - mirror_url = os.environ.pop('PIPENV_TEST_INDEX', "https://pypi.python.org/simple") -@@ -93,7 +93,7 @@ def test_complex_lock(PipenvInstance, pypi): + with temp_environ(), PipenvInstance(chdir=True, pypi=pypi) as p: + mirror_url = os.environ.pop( +@@ -92,7 +92,7 @@ def test_complex_lock(PipenvInstance, pypi): @pytest.mark.dev @pytest.mark.run @@ -93,8 +101,8 @@ index 47670df..7536b35 100644 +@pytest.mark.rpmfail def test_basic_dev_install(PipenvInstance, pypi): with PipenvInstance(pypi=pypi) as p: - c = p.pipenv('install requests --dev') -@@ -111,7 +111,7 @@ def test_basic_dev_install(PipenvInstance, pypi): + c = p.pipenv("install requests --dev") +@@ -110,7 +110,7 @@ def test_basic_dev_install(PipenvInstance, pypi): @pytest.mark.dev @pytest.mark.install @@ -103,7 +111,7 @@ index 47670df..7536b35 100644 def test_install_without_dev(PipenvInstance, pypi): """Ensure that running `pipenv install` doesn't install dev packages""" with PipenvInstance(pypi=pypi, chdir=True) as p: -@@ -137,7 +137,7 @@ pytz = "*" +@@ -136,7 +136,7 @@ pytz = "*" @pytest.mark.install @@ -111,8 +119,8 @@ index 47670df..7536b35 100644 +@pytest.mark.rpmfail def test_install_without_dev_section(PipenvInstance, pypi): with PipenvInstance(pypi=pypi) as p: - with open(p.pipfile_path, 'w') as f: -@@ -158,7 +158,7 @@ six = "*" + with open(p.pipfile_path, "w") as f: +@@ -157,7 +157,7 @@ six = "*" @pytest.mark.extras @pytest.mark.install @@ -120,8 +128,8 @@ index 47670df..7536b35 100644 +@pytest.mark.rpmfail def test_extras_install(PipenvInstance, pypi): with PipenvInstance(pypi=pypi, chdir=True) as p: - c = p.pipenv('install requests[socks]') -@@ -175,7 +175,7 @@ def test_extras_install(PipenvInstance, pypi): + c = p.pipenv("install requests[socks]") +@@ -174,7 +174,7 @@ def test_extras_install(PipenvInstance, pypi): @pytest.mark.install @pytest.mark.pin @@ -129,8 +137,8 @@ index 47670df..7536b35 100644 +@pytest.mark.rpmfail def test_windows_pinned_pipfile(PipenvInstance, pypi): with PipenvInstance(pypi=pypi) as p: - with open(p.pipfile_path, 'w') as f: -@@ -193,7 +193,7 @@ tablib = "<0.12" + with open(p.pipfile_path, "w") as f: +@@ -192,7 +192,7 @@ requests = "==2.19.1" @pytest.mark.install @pytest.mark.resolver @pytest.mark.backup_resolver @@ -138,8 +146,8 @@ index 47670df..7536b35 100644 +@pytest.mark.rpmfail def test_backup_resolver(PipenvInstance, pypi): with PipenvInstance(pypi=pypi) as p: - with open(p.pipfile_path, 'w') as f: -@@ -210,7 +210,7 @@ def test_backup_resolver(PipenvInstance, pypi): + with open(p.pipfile_path, "w") as f: +@@ -209,7 +209,7 @@ def test_backup_resolver(PipenvInstance, pypi): @pytest.mark.run @pytest.mark.alt @@ -147,16 +155,16 @@ index 47670df..7536b35 100644 +@pytest.mark.rpmfail def test_alternative_version_specifier(PipenvInstance, pypi): with PipenvInstance(pypi=pypi) as p: - with open(p.pipfile_path, 'w') as f: -@@ -300,6 +300,7 @@ tablib = "<0.12" - assert 'requests' not in p.lockfile['default'] + with open(p.pipfile_path, "w") as f: +@@ -324,6 +324,7 @@ tablib = "<0.12" + assert "requests" not in p.lockfile["default"] +@pytest.mark.rpmfail @pytest.mark.cli @pytest.mark.clean def test_clean_on_empty_venv(PipenvInstance, pypi): -@@ -308,6 +309,7 @@ def test_clean_on_empty_venv(PipenvInstance, pypi): +@@ -332,6 +333,7 @@ def test_clean_on_empty_venv(PipenvInstance, pypi): assert c.return_code == 0 @@ -164,8 +172,8 @@ index 47670df..7536b35 100644 @pytest.mark.install def test_install_does_not_extrapolate_environ(PipenvInstance, pypi): """Ensure environment variables are not expanded in lock file. -@@ -365,6 +367,7 @@ def test_install_venv_project_directory(PipenvInstance, pypi): - assert Path(project.virtualenv_location).joinpath('.project').exists() +@@ -396,6 +398,7 @@ def test_install_venv_project_directory(PipenvInstance, pypi): + assert venv_loc.joinpath(".project").exists() +@pytest.mark.rpmfail @@ -173,10 +181,10 @@ index 47670df..7536b35 100644 @pytest.mark.system def test_system_and_deploy_work(PipenvInstance, pypi): diff --git a/tests/integration/test_install_markers.py b/tests/integration/test_install_markers.py -index 58f29f2..767d830 100644 +index 0967026..e40d8c5 100644 --- a/tests/integration/test_install_markers.py +++ b/tests/integration/test_install_markers.py -@@ -64,7 +64,7 @@ depends-on-marked-package = "*" +@@ -62,7 +62,7 @@ depends-on-marked-package = "*" @pytest.mark.run @pytest.mark.alt @pytest.mark.install @@ -185,7 +193,7 @@ index 58f29f2..767d830 100644 def test_specific_package_environment_markers(PipenvInstance, pypi): with PipenvInstance(pypi=pypi) as p: -@@ -86,7 +86,7 @@ requests = {version = "*", os_name = "== 'splashwear'"} +@@ -84,7 +84,7 @@ requests = {version = "*", os_name = "== 'splashwear'"} @pytest.mark.markers @@ -194,7 +202,7 @@ index 58f29f2..767d830 100644 def test_top_level_overrides_environment_markers(PipenvInstance, pypi): """Top-level environment markers should take precedence. """ -@@ -107,7 +107,7 @@ funcsigs = {version = "*", os_name = "== 'splashwear'"} +@@ -105,7 +105,7 @@ funcsigs = {version = "*", os_name = "== 'splashwear'"} @pytest.mark.markers @pytest.mark.install @@ -203,7 +211,7 @@ index 58f29f2..767d830 100644 def test_global_overrides_environment_markers(PipenvInstance, pypi): """Empty (unconditional) dependency should take precedence. If a dependency is specified without environment markers, it should -@@ -132,7 +132,7 @@ funcsigs = "*" +@@ -130,7 +130,7 @@ funcsigs = "*" @pytest.mark.lock @pytest.mark.complex @@ -212,7 +220,7 @@ index 58f29f2..767d830 100644 @py3_only @skip_py37 def test_resolver_unique_markers(PipenvInstance, pypi): -@@ -156,7 +156,7 @@ def test_resolver_unique_markers(PipenvInstance, pypi): +@@ -154,7 +154,7 @@ def test_resolver_unique_markers(PipenvInstance, pypi): @pytest.mark.project @@ -222,10 +230,10 @@ index 58f29f2..767d830 100644 with PipenvInstance(chdir=True, pypi=pypi) as p: with temp_environ(): diff --git a/tests/integration/test_install_twists.py b/tests/integration/test_install_twists.py -index adce703..aa574da 100644 +index 055c39b..7bc701d 100644 --- a/tests/integration/test_install_twists.py +++ b/tests/integration/test_install_twists.py -@@ -74,7 +74,7 @@ def test_e_dot(PipenvInstance, pip_src_dir): +@@ -138,7 +138,7 @@ def test_e_dot(PipenvInstance, pip_src_dir): @pytest.mark.install @@ -233,8 +241,8 @@ index adce703..aa574da 100644 +@pytest.mark.rpmfail def test_multiprocess_bug_and_install(PipenvInstance, pypi): with temp_environ(): - os.environ['PIPENV_MAX_SUBPROCESS'] = '2' -@@ -102,7 +102,7 @@ urllib3 = "*" + os.environ["PIPENV_MAX_SUBPROCESS"] = "2" +@@ -166,7 +166,7 @@ urllib3 = "*" @pytest.mark.sequential @pytest.mark.install @@ -243,7 +251,7 @@ index adce703..aa574da 100644 def test_sequential_mode(PipenvInstance, pypi): with PipenvInstance(pypi=pypi, chdir=True) as p: -@@ -126,6 +126,7 @@ pytz = "*" +@@ -190,6 +190,7 @@ pytz = "*" assert c.return_code == 0 @@ -251,7 +259,7 @@ index adce703..aa574da 100644 @pytest.mark.install @pytest.mark.run def test_normalize_name_install(PipenvInstance, pypi): -@@ -159,7 +160,7 @@ Requests = "==2.14.0" # Inline comment +@@ -224,7 +225,7 @@ Requests = "==2.14.0" # Inline comment @pytest.mark.files @pytest.mark.resolver @pytest.mark.eggs @@ -260,25 +268,25 @@ index adce703..aa574da 100644 def test_local_package(PipenvInstance, pip_src_dir, pypi, testsroot): """This test ensures that local packages (directories with a setup.py) installed in editable mode have their dependencies resolved as well""" -@@ -180,7 +181,7 @@ def test_local_package(PipenvInstance, pip_src_dir, pypi, testsroot): +@@ -249,7 +250,7 @@ def test_local_package(PipenvInstance, pip_src_dir, pypi, testsroot): @pytest.mark.files -@flaky +@pytest.mark.rpmfail def test_local_zipfiles(PipenvInstance, pypi, testsroot): - file_name = 'tablib-0.12.1.tar.gz' + file_name = "requests-2.19.1.tar.gz" # Not sure where travis/appveyor run tests from -@@ -205,7 +206,7 @@ def test_local_zipfiles(PipenvInstance, pypi, testsroot): +@@ -274,7 +275,7 @@ def test_local_zipfiles(PipenvInstance, pypi, testsroot): @pytest.mark.files -@flaky +@pytest.mark.rpmfail def test_relative_paths(PipenvInstance, pypi, testsroot): - file_name = 'tablib-0.12.1.tar.gz' - source_path = os.path.abspath(os.path.join(testsroot, 'test_artifacts', file_name)) -@@ -228,7 +229,7 @@ def test_relative_paths(PipenvInstance, pypi, testsroot): + file_name = "requests-2.19.1.tar.gz" + source_path = os.path.abspath(os.path.join(testsroot, "test_artifacts", file_name)) +@@ -297,7 +298,7 @@ def test_relative_paths(PipenvInstance, pypi, testsroot): @pytest.mark.install @pytest.mark.local_file @@ -286,12 +294,12 @@ index adce703..aa574da 100644 +@pytest.mark.rpmfail def test_install_local_file_collision(PipenvInstance, pypi): with PipenvInstance(pypi=pypi) as p: - target_package = 'alembic' + target_package = "alembic" diff --git a/tests/integration/test_install_uri.py b/tests/integration/test_install_uri.py -index d27d690..7822ace 100644 +index c591560..20e3b69 100644 --- a/tests/integration/test_install_uri.py +++ b/tests/integration/test_install_uri.py -@@ -10,7 +10,7 @@ from .fixtures.plugin import pypi +@@ -8,7 +8,7 @@ from pipenv._compat import Path @pytest.mark.vcs @pytest.mark.install @pytest.mark.needs_internet @@ -299,8 +307,8 @@ index d27d690..7822ace 100644 +@pytest.mark.rpmfail def test_basic_vcs_install(PipenvInstance, pip_src_dir, pypi): with PipenvInstance(pypi=pypi, chdir=True) as p: - c = p.pipenv('install git+https://github.com/benjaminp/six.git@1.11.0#egg=six') -@@ -27,7 +27,7 @@ def test_basic_vcs_install(PipenvInstance, pip_src_dir, pypi): + c = p.pipenv("install git+https://github.com/benjaminp/six.git@1.11.0#egg=six") +@@ -61,7 +61,7 @@ def test_ssh_vcs_install(PipenvInstance, pip_src_dir, pypi): @pytest.mark.files @pytest.mark.urls @pytest.mark.needs_internet @@ -308,17 +316,8 @@ index d27d690..7822ace 100644 +@pytest.mark.rpmfail def test_urls_work(PipenvInstance, pypi, pip_src_dir): with PipenvInstance(pypi=pypi) as p: - c = p.pipenv('install https://github.com/divio/django-cms/archive/release/3.4.x.zip') -@@ -79,7 +79,7 @@ def test_local_vcs_urls_work(PipenvInstance, pypi): - @pytest.mark.files - @pytest.mark.urls - @pytest.mark.needs_internet --@flaky -+@pytest.mark.rpmfail - def test_install_remote_requirements(PipenvInstance, pypi): - with PipenvInstance(pypi=pypi) as p: - # using a github hosted requirements.txt file -@@ -101,7 +101,7 @@ def test_install_remote_requirements(PipenvInstance, pypi): + c = p.pipenv( +@@ -115,7 +115,7 @@ def test_local_vcs_urls_work(PipenvInstance, pypi, tmpdir): @pytest.mark.vcs @pytest.mark.install @pytest.mark.needs_internet @@ -326,8 +325,8 @@ index d27d690..7822ace 100644 +@pytest.mark.rpmfail def test_editable_vcs_install(PipenvInstance, pip_src_dir, pypi): with PipenvInstance(pypi=pypi) as p: - c = p.pipenv('install -e git+https://github.com/requests/requests.git#egg=requests') -@@ -120,7 +120,7 @@ def test_editable_vcs_install(PipenvInstance, pip_src_dir, pypi): + c = p.pipenv( +@@ -136,7 +136,7 @@ def test_editable_vcs_install(PipenvInstance, pip_src_dir, pypi): @pytest.mark.vcs @pytest.mark.tablib @pytest.mark.needs_internet @@ -337,10 +336,10 @@ index d27d690..7822ace 100644 # This uses the real PyPI since we need Internet to access the Git # dependency anyway. diff --git a/tests/integration/test_lock.py b/tests/integration/test_lock.py -index 95de475..366567d 100644 +index 2b52080..91cd195 100644 --- a/tests/integration/test_lock.py +++ b/tests/integration/test_lock.py -@@ -26,6 +26,7 @@ RandomWords = "*" +@@ -23,6 +23,7 @@ RandomWords = "*" assert p.lockfile['default']['randomwords']['version'] == '==0.2.1' @@ -348,7 +347,7 @@ index 95de475..366567d 100644 @pytest.mark.lock @pytest.mark.requirements def test_lock_requirements_file(PipenvInstance, pypi): -@@ -56,6 +57,7 @@ flask = "==0.12.2" +@@ -53,6 +54,7 @@ flask = "==0.12.2" assert req in d.out @@ -356,7 +355,7 @@ index 95de475..366567d 100644 @pytest.mark.lock def test_lock_keep_outdated(PipenvInstance, pypi): -@@ -128,6 +130,7 @@ requests = {git = "https://github.com/requests/requests.git"} +@@ -125,6 +127,7 @@ requests = {git = "https://github.com/requests/requests.git"} assert 'python_dateutil' not in lock['develop'] @@ -364,7 +363,7 @@ index 95de475..366567d 100644 @pytest.mark.lock @pytest.mark.requirements def test_lock_with_prereleases(PipenvInstance, pypi): -@@ -152,7 +155,7 @@ allow_prereleases = true +@@ -149,7 +152,7 @@ allow_prereleases = true @pytest.mark.complex @pytest.mark.maya @pytest.mark.needs_internet @@ -373,7 +372,7 @@ index 95de475..366567d 100644 def test_complex_deps_lock_and_install_properly(PipenvInstance, pip_src_dir, pypi): # This uses the real PyPI because Maya has too many dependencies... with PipenvInstance(chdir=True, pypi=pypi) as p: -@@ -295,6 +298,7 @@ requests = "*" +@@ -314,6 +317,7 @@ requests = "*" assert '--extra-index-url {}'.format(mirror_url) not in c.out.strip() @@ -382,10 +381,10 @@ index 95de475..366567d 100644 @pytest.mark.index def test_lock_updated_source(PipenvInstance, pypi): diff --git a/tests/integration/test_pipenv.py b/tests/integration/test_pipenv.py -index 75a0a9d..668c3ad 100644 +index 7824980..70d1952 100644 --- a/tests/integration/test_pipenv.py +++ b/tests/integration/test_pipenv.py -@@ -28,6 +28,7 @@ def test_code_import_manual(PipenvInstance): +@@ -26,6 +26,7 @@ def test_code_import_manual(PipenvInstance): assert 'requests' in p.pipfile['packages'] @@ -393,8 +392,16 @@ index 75a0a9d..668c3ad 100644 @pytest.mark.lock @pytest.mark.deploy @pytest.mark.cli +@@ -60,6 +61,7 @@ requests = "==2.14.0" + assert c.return_code > 0 + + ++@pytest.mark.rpmfail + @pytest.mark.update + @pytest.mark.lock + def test_update_locks(PipenvInstance, pypi): diff --git a/tests/integration/test_project.py b/tests/integration/test_project.py -index 5deccc8..2ec08ef 100644 +index 5e1bafb..2db29fc 100644 --- a/tests/integration/test_project.py +++ b/tests/integration/test_project.py @@ -29,6 +29,7 @@ pytz = "*" @@ -442,11 +449,11 @@ index 72f1059..14b9172 100644 def test_scripts(PipenvInstance): with PipenvInstance(chdir=True) as p: diff --git a/tests/integration/test_sync.py b/tests/integration/test_sync.py -index 0799154..8fe62a8 100644 +index 2ef06dd..3533fb3 100644 --- a/tests/integration/test_sync.py +++ b/tests/integration/test_sync.py -@@ -20,6 +20,7 @@ def test_sync_error_without_lockfile(PipenvInstance, pypi): - assert 'Pipfile.lock is missing!' in c.err +@@ -18,6 +18,7 @@ def test_sync_error_without_lockfile(PipenvInstance, pypi): + assert 'Pipfile.lock not found!' in c.err +@pytest.mark.rpmfail @@ -454,18 +461,18 @@ index 0799154..8fe62a8 100644 @pytest.mark.lock def test_mirror_lock_sync(PipenvInstance, pypi): diff --git a/tests/integration/test_uninstall.py b/tests/integration/test_uninstall.py -index dffbdbc..fffe440 100644 +index 5f493ca..c84f1fc 100644 --- a/tests/integration/test_uninstall.py +++ b/tests/integration/test_uninstall.py -@@ -8,6 +8,7 @@ import pytest - from .fixtures.plugin import pypi +@@ -6,6 +6,7 @@ from pipenv.utils import temp_environ + import pytest +@pytest.mark.rpmfail @pytest.mark.run @pytest.mark.uninstall @pytest.mark.install -@@ -35,6 +36,7 @@ def test_uninstall(PipenvInstance, pypi): +@@ -33,6 +34,7 @@ def test_uninstall(PipenvInstance, pypi): assert c.return_code > 0 @@ -481,15 +488,15 @@ index dffbdbc..fffe440 100644 @pytest.mark.files @pytest.mark.uninstall @pytest.mark.install -@@ -95,6 +98,7 @@ def test_uninstall_all_local_files(PipenvInstance, testsroot): - assert 'tablib' not in p.pipfile['packages'] +@@ -97,6 +100,7 @@ def test_uninstall_all_local_files(PipenvInstance, testsroot): + assert "requests" in p.pipfile["packages"] +@pytest.mark.rpmfail @pytest.mark.run @pytest.mark.uninstall @pytest.mark.install -@@ -129,6 +133,7 @@ def test_uninstall_all_dev(PipenvInstance, pypi): +@@ -131,6 +135,7 @@ def test_uninstall_all_dev(PipenvInstance, pypi): assert c.return_code == 0 @@ -498,22 +505,22 @@ index dffbdbc..fffe440 100644 @pytest.mark.run def test_normalize_name_uninstall(PipenvInstance, pypi): diff --git a/tests/unit/test_utils.py b/tests/unit/test_utils.py -index 7fafdaa..6dc75f4 100644 +index 422c100..4a35c5d 100644 --- a/tests/unit/test_utils.py +++ b/tests/unit/test_utils.py -@@ -221,6 +221,7 @@ class TestUtils: +@@ -215,6 +215,7 @@ class TestUtils: assert pipenv.utils.is_valid_url(not_url) is False @pytest.mark.utils + @pytest.mark.rpmfail def test_download_file(self): - url = "https://github.com/kennethreitz/pipenv/blob/master/README.rst" - output = "test_download.rst" -@@ -269,6 +270,7 @@ twine = "*" + url = "https://github.com/kennethreitz/pipenv/blob/master/README.md" + output = "test_download.md" +@@ -263,6 +264,7 @@ twine = "*" def test_win_normalize_drive(self, input_path, expected): assert pipenv.utils.normalize_drive(input_path) == expected + @pytest.mark.rpmfail @pytest.mark.utils @pytest.mark.parametrize( - 'input_path, expected', + "input_path, expected", diff --git a/pipenv.spec b/pipenv.spec index a8ab209..ff74021 100644 --- a/pipenv.spec +++ b/pipenv.spec @@ -3,18 +3,15 @@ # times before filling bugz. Name: pipenv -Version: 2018.7.1 -Release: 2%{?dist} +Version: 2018.11.14 +Release: 1%{?dist} Summary: The higher level Python packaging tool # Pipenv source code is MIT, there are bundled packages having different licenses -# pipenv/patched/contoml/ is MIT # pipenv/patched/crayons.py is MIT -# pipenv/patched/pew/ is MIT # pipenv/patched/pipfile/ is (ASL 2.0 or BSD) # pipenv/patched/piptools/ is BSD -# pipenv/patched/prettytoml/ is MIT # pipenv/patched/safety/ is MIT # pipenv/patched/safety.zip is MIT @@ -32,9 +29,10 @@ Summary: The higher level Python packaging tool # pipenv/patched/notpip/_vendor/lockfile/ is Python # pipenv/patched/notpip/_vendor/msgpack/ is ASL 2.0 # pipenv/patched/notpip/_vendor/packaging/ is (ASL 2.0 or BSD) +# pipenv/patched/notpip/_vendor/pep517/ is MIT # pipenv/patched/notpip/_vendor/pkg_resources/ is MIT # pipenv/patched/notpip/_vendor/progress/ is ISC -# pipenv/patched/notpip/_vendor/pyparsing is MIT +# pipenv/patched/notpip/_vendor/pyparsing.py is MIT # pipenv/patched/notpip/_vendor/pytoml/ is MIT # pipenv/patched/notpip/_vendor/requests/ is ASL 2.0 # pipenv/patched/notpip/_vendor/retrying.py is ASL 2.0 @@ -42,30 +40,30 @@ Summary: The higher level Python packaging tool # pipenv/patched/notpip/_vendor/urllib3/ is MIT # pipenv/patched/notpip/_vendor/webencodings/ is ASL 2.0 -# pipenv/vendor/blindspin/ is MIT # pipenv/vendor/click_didyoumean/ is MIT +# pipenv/vendor/cursor is CC-BY-SA # pipenv/vendor/delegator.py is MIT -# pipenv/vendor/distlib/ is Python -# pipenv/vendor/dotenv/ is BSD +# pipenv/vendor/passa is ISC # pipenv/vendor/pipdeptree.py is MIT # pipenv/vendor/pipreqs/ is Apache2.0 +# pipenv/vendor/pip_shims/ is ISC +# pipenv/vendor/plette/ is ISC # pipenv/vendor/pythonfinder/ is MIT -# pipenv/vendor/requirements/ is BSD # pipenv/vendor/requirementslib/ is (Apache2.0 or BSD) -# pipenv/vendor/shellingham/ is ISC +# pipenv/vendor/resolvelib/ is MIT # pipenv/vendor/shutilwhich/ is BSD -# pipenv/vendor/yarg/ is MIT +# pipenv/vendor/tomlkit/ is MIT +# pipenv/vendor/vistir/ is ISC +# pipenv/vendor/yaspin/ is MIT -License: MIT and BSD and ASL 2.0 and LGPLv2+ and Python and ISC and MPLv2.0 and (ASL 2.0 or BSD) +License: MIT and BSD and ASL 2.0 and LGPLv2+ and Python and ISC and MPLv2.0 and (ASL 2.0 or BSD) and CC-BY-SA URL: https://github.com/pypa/pipenv Source0: https://github.com/pypa/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz -# Add imports of pypi fixtures, which are moved to tests/integration -# in prep section -Patch1: 0001-pypi-fixtures.patch - # We unbundle a plenty of packages from vendor directory # 'from pipenv.vendor' imports must be corrected +# Also adds "pytest_pypi.plugin import pypi, ..." to conftest, +# as we don't have that plugin installed and it is not autodiscovered Patch2: 0002-fix-imports-of-unbundled-pkgs.patch # A couple of tests fails in the mock environment, add option @@ -105,27 +103,33 @@ BuildRequires: python2-devel BuildRequires: python3dist(appdirs) BuildRequires: python3dist(attrs) BuildRequires: python3dist(blindspin) >= 2.0.1 -BuildRequires: python3dist(click) -BuildRequires: python3dist(click-completion) -BuildRequires: python3dist(colorama) +BuildRequires: python3dist(cached-property) >= 1.3 +BuildRequires: python3dist(cerberus) >= 1.2 BuildRequires: python3dist(certifi) -BuildRequires: python3dist(distlib) +BuildRequires: python3dist(click-completion) +BuildRequires: python3dist(click) >= 7.0 +BuildRequires: python3dist(colorama) >= 0.3.9 +BuildRequires: python3dist(distlib) >= 0.2.7 BuildRequires: python3dist(docopt) >= 0.6.2 BuildRequires: python3dist(first) >= 2.0.1 -BuildRequires: python3dist(iso8601) -BuildRequires: python3dist(jinja2) -BuildRequires: python3dist(markupsafe) -BuildRequires: python3dist(packaging) -BuildRequires: python3dist(parse) -BuildRequires: python3dist(pexpect) -BuildRequires: python3dist(ptyprocess) -BuildRequires: python3dist(pyparsing) -BuildRequires: python3dist(pytoml) -BuildRequires: python3dist(requests) > 2.18.0 +BuildRequires: python3dist(chardet) >= 2.0.1 +BuildRequires: python3dist(iso8601) >= 0.1.11 +BuildRequires: python3dist(jinja2) >= 2.10 +BuildRequires: python3dist(markupsafe) >= 1.0 +BuildRequires: python3dist(packaging) >= 17.1 +BuildRequires: python3dist(parse) >= 1.8.4 +BuildRequires: python3dist(pexpect) >= 4.6 +BuildRequires: python3dist(ptyprocess) >= 0.6 +BuildRequires: python3dist(pyparsing) >= 2.2 +BuildRequires: python3dist(python-dotenv) >= 0.9.1 +BuildRequires: python3dist(requests) >= 2.20 +BuildRequires: python3dist(scandir) >= 1.9 +BuildRequires: python3dist(semver) >= 2.8.1 +BuildRequires: python3dist(shellingham) >= 1.2.7 BuildRequires: python3dist(six) -BuildRequires: python3dist(scandir) >= 1.7 -BuildRequires: python3dist(semver) -BuildRequires: python3dist(toml) +BuildRequires: python3dist(toml) >= 0.10.0 +BuildRequires: python3dist(urllib3) +BuildRequires: python3dist(yarg) >= 0.1.9 %{?python_provide:%python_provide python3-%{name}} @@ -136,77 +140,83 @@ Requires: python3dist(virtualenv) Requires: python3dist(appdirs) Requires: python3dist(attrs) Requires: python3dist(blindspin) >= 2.0.1 -Requires: python3dist(click) -Requires: python3dist(click-completion) -Requires: python3dist(colorama) +Requires: python3dist(cached-property) >= 1.3 +Requires: python3dist(cerberus) >= 1.2 Requires: python3dist(certifi) -Requires: python3dist(distlib) +Requires: python3dist(click-completion) +Requires: python3dist(click) >= 7.0 +Requires: python3dist(colorama) >= 0.3.9 +Requires: python3dist(distlib) >= 0.2.7 Requires: python3dist(docopt) >= 0.6.2 Requires: python3dist(first) >= 2.0.1 -Requires: python3dist(iso8601) -Requires: python3dist(jinja2) -Requires: python3dist(markupsafe) -Requires: python3dist(packaging) -Requires: python3dist(parse) -Requires: python3dist(pexpect) -Requires: python3dist(ptyprocess) -Requires: python3dist(pyparsing) -Requires: python3dist(pytoml) -Requires: python3dist(requests) > 2.18.0 +Requires: python3dist(chardet) >= 2.0.1 +Requires: python3dist(iso8601) >= 0.1.11 +Requires: python3dist(jinja2) >= 2.10 +Requires: python3dist(markupsafe) >= 1.0 +Requires: python3dist(packaging) >= 17.1 +Requires: python3dist(parse) >= 1.8.4 +Requires: python3dist(pexpect) >= 4.6 +Requires: python3dist(ptyprocess) >= 0.6 +Requires: python3dist(pyparsing) >= 2.2 +Requires: python3dist(python-dotenv) >= 0.9.1 +Requires: python3dist(requests) >= 2.20 +Requires: python3dist(scandir) >= 1.9 +Requires: python3dist(semver) >= 2.8.1 +Requires: python3dist(shellingham) >= 1.2.7 Requires: python3dist(six) -Requires: python3dist(scandir) >= 1.7 -Requires: python3dist(semver) -Requires: python3dist(toml) +Requires: python3dist(toml) >= 0.10.0 +Requires: python3dist(urllib3) +Requires: python3dist(yarg) >= 0.1.9 # Following packages bundled under vendor directory are not # packaged for Fedora yet. # TODO package for Fedora and unbundle Provides: bundled(python3dist(click-didyoumean)) == 0.0.3 -Provides: bundled(python3dist(delegator)) == 0.1.0 -Provides: bundled(python3dist(pipdeptree)) +Provides: bundled(python3dist(cursor)) == 1.2.0 +Provides: bundled(python3dist(delegator.py)) == 0.1.1 +Provides: bundled(python3dist(passa)) +Provides: bundled(python3dist(pipdeptree)) == 0.13.0 Provides: bundled(python3dist(pipreqs)) == 0.4.9 -Provides: bundled(python3dist(python-dotenv)) == 0.6.2 -Provides: bundled(python3dist(pythonfinder)) -Provides: bundled(python3dist(requirementslib)) == 1.0.9 -Provides: bundled(python3dist(requirements-parser)) == 0.2.0 -Provides: bundled(python3dist(requirements)) == 0.2.0 -Provides: bundled(python3dist(shellingham)) == 1.1.0 +Provides: bundled(python3dist(pip-shims)) == 0.3.2 +Provides: bundled(python3dist(plette)) == 0.2.2 +Provides: bundled(python3dist(pythonfinder)) == 1.1.9.post1 +Provides: bundled(python3dist(requirementslib)) == 1.3.1.post1 +Provides: bundled(python3dist(resolvelib)) == 0.2.2 Provides: bundled(python3dist(shutilwhich)) == 1.1.0 -Provides: bundled(python3dist(yarg)) == 0.1.9 +Provides: bundled(python3dist(tomlkit)) == 0.5.2 +Provides: bundled(python3dist(vistir)) == 0.2.4 +Provides: bundled(python3dist(yaspin)) == 0.14.0 # The sources contains patched versions of following packages: -Provides: bundled(python3dist(contoml)) Provides: bundled(python3dist(crayons)) == 0.1.2 -Provides: bundled(python3dist(pew)) == 1.1.5 Provides: bundled(python3dist(pipfile)) == 0.0.2 -Provides: bundled(python3dist(pip-tools)) == 2.0.1 -Provides: bundled(python3dist(prettytoml)) == 0.3 -Provides: bundled(python3dist(pip)) == 10.0.1 -Provides: bundled(python3dist(piptools)) == 2.0.2 +Provides: bundled(python3dist(pip-tools)) == 3.1.0 +Provides: bundled(python3dist(pip)) == 18.1 Provides: bundled(python3dist(safety)) -# The packages bundled with pip: +# The packages bundled with pip (18.1): Provides: bundled(python3dist(appdirs)) = 1.4.3 Provides: bundled(python3dist(distlib)) = 0.2.7 -Provides: bundled(python3dist(distro)) = 1.2.0 +Provides: bundled(python3dist(distro)) = 1.3.0 Provides: bundled(python3dist(html5lib)) = 1.0.1 Provides: bundled(python3dist(six)) = 1.11.0 Provides: bundled(python3dist(colorama)) = 0.3.9 -Provides: bundled(python3dist(CacheControl)) = 0.12.4 +Provides: bundled(python3dist(CacheControl)) = 0.12.5 Provides: bundled(python3dist(msgpack-python)) = 0.5.6 Provides: bundled(python3dist(lockfile)) = 0.12.2 -Provides: bundled(python3dist(progress)) = 1.3 -Provides: bundled(python3dist(ipaddress)) = 1.0.19 -Provides: bundled(python3dist(packaging)) = 17.1 -Provides: bundled(python3dist(pyparsing)) = 2.2.0 -Provides: bundled(python3dist(pytoml)) = 0.1.14 +Provides: bundled(python3dist(progress)) = 1.4 +Provides: bundled(python3dist(ipaddress)) = 1.0.22 +Provides: bundled(python3dist(packaging)) = 18.0 +Provides: bundled(python3dist(pep517)) = 0.2 +Provides: bundled(python3dist(pyparsing)) = 2.2.1 +Provides: bundled(python3dist(pytoml)) = 0.1.19 Provides: bundled(python3dist(retrying)) = 1.3.3 -Provides: bundled(python3dist(requests)) = 2.18.4 +Provides: bundled(python3dist(requests)) = 2.19.1 Provides: bundled(python3dist(chardet)) = 3.0.4 -Provides: bundled(python3dist(idna)) = 2.6 -Provides: bundled(python3dist(urllib3)) = 1.22 -Provides: bundled(python3dist(certifi)) = 2018.1.18 -Provides: bundled(python3dist(setuptools)) = 39.1.0 +Provides: bundled(python3dist(idna)) = 2.7 +Provides: bundled(python3dist(urllib3)) = 1.23 +Provides: bundled(python3dist(certifi)) = 2018.8.24 +Provides: bundled(python3dist(setuptools)) = 40.4.3 Provides: bundled(python3dist(webencodings)) = 0.5.1 %description @@ -227,7 +237,8 @@ Documentation for Pipenv %autosetup -p1 -n %{name}-%{version} # Remove packages that are already packaged for Fedora from vendor directory -UNBUNDLED="appdirs attr blindspin certifi chardet click click_completion colorama distlib docopt first idna iso8601 jinja2 markupsafe packaging parse pathlib2 pexpect ptyprocess pyparsing pytoml requests semver scandir six toml urllib3 backports" +# pathlib2 and backports are not needed on Python 3.6+ +UNBUNDLED="appdirs attr blindspin cached_property cerberus click_completion click colorama distlib docopt first chardet iso8601 jinja2 markupsafe packaging parse pexpect ptyprocess pyparsing dotenv requests certifi idna urllib3 scandir semver shellingham six toml yarg pathlib2 backports" _vendordir="pipenv/vendor/" @@ -241,11 +252,10 @@ for pkg in ${UNBUNDLED[@]}; do exit 1 fi rm -rf $_vendordir$pkg".LICENSE"* + rm -rf $_vendordir${pkg/_/-}".LICENSE"* done -mv tests/pytest-pypi/pytest_pypi tests/integration/fixtures -rm -rf tests/pytest-pypi - + %build %py3_build # generate html docs @@ -285,9 +295,10 @@ ln -s %{__python3} check_path/python test -f %{_bindir}/virtualenv || ln -s %{_bindir}/virtualenv-3 check_path/virtualenv export PATH=$PWD/check_path:$PATH:%{buildroot}%{_bindir} -export PYTHONPATH=$PWD/check_pythonpath +export PYTHONPATH=$PWD/check_pythonpath:$PWD/tests/pytest-pypi export PYPI_VENDOR_DIR="$(pwd)/tests/pypi/" -pytest-3 -v -n auto -m "not rpmfail" tests +sed -i 's/-n auto//' pytest.ini # disable -n auto for now https://github.com/pytest-dev/pytest-xdist/issues/381 +pytest-3 -v -m "not rpmfail" tests rm -rf check_pythonpath check_path @@ -295,77 +306,61 @@ rm -rf check_pythonpath check_path %files %license LICENSE # for the sake of simplicity, files are listed twice. we know about it -%license %{python3_sitelib}/%{name}/patched/contoml/LICENSE %license %{python3_sitelib}/%{name}/patched/crayons.LICENSE %license %{python3_sitelib}/%{name}/patched/notpip/LICENSE.txt -%license %{python3_sitelib}/%{name}/patched/notpip/_vendor/appdirs.LICENSE.txt %license %{python3_sitelib}/%{name}/patched/notpip/_vendor/cachecontrol/LICENSE.txt %license %{python3_sitelib}/%{name}/patched/notpip/_vendor/certifi/LICENSE %license %{python3_sitelib}/%{name}/patched/notpip/_vendor/chardet/LICENSE %license %{python3_sitelib}/%{name}/patched/notpip/_vendor/colorama/LICENSE.txt %license %{python3_sitelib}/%{name}/patched/notpip/_vendor/distlib/LICENSE.txt -%license %{python3_sitelib}/%{name}/patched/notpip/_vendor/distro.LICENSE %license %{python3_sitelib}/%{name}/patched/notpip/_vendor/html5lib/LICENSE %license %{python3_sitelib}/%{name}/patched/notpip/_vendor/idna/LICENSE.rst -%license %{python3_sitelib}/%{name}/patched/notpip/_vendor/ipaddress.LICENSE %license %{python3_sitelib}/%{name}/patched/notpip/_vendor/lockfile/LICENSE %license %{python3_sitelib}/%{name}/patched/notpip/_vendor/msgpack/COPYING %license %{python3_sitelib}/%{name}/patched/notpip/_vendor/packaging/LICENSE %license %{python3_sitelib}/%{name}/patched/notpip/_vendor/packaging/LICENSE.APACHE %license %{python3_sitelib}/%{name}/patched/notpip/_vendor/packaging/LICENSE.BSD +%license %{python3_sitelib}/%{name}/patched/notpip/_vendor/pep517/LICENSE %license %{python3_sitelib}/%{name}/patched/notpip/_vendor/pkg_resources/LICENSE %license %{python3_sitelib}/%{name}/patched/notpip/_vendor/progress/LICENSE -%license %{python3_sitelib}/%{name}/patched/notpip/_vendor/pyparsing.LICENSE %license %{python3_sitelib}/%{name}/patched/notpip/_vendor/pytoml/LICENSE %license %{python3_sitelib}/%{name}/patched/notpip/_vendor/requests/LICENSE -%license %{python3_sitelib}/%{name}/patched/notpip/_vendor/retrying.LICENSE -%license %{python3_sitelib}/%{name}/patched/notpip/_vendor/six.LICENSE %license %{python3_sitelib}/%{name}/patched/notpip/_vendor/urllib3/LICENSE.txt %license %{python3_sitelib}/%{name}/patched/notpip/_vendor/webencodings/LICENSE -%license %{python3_sitelib}/%{name}/patched/pew/LICENSE %license %{python3_sitelib}/%{name}/patched/pipfile/LICENSE %license %{python3_sitelib}/%{name}/patched/pipfile/LICENSE.APACHE %license %{python3_sitelib}/%{name}/patched/pipfile/LICENSE.BSD %license %{python3_sitelib}/%{name}/patched/piptools/LICENSE -%license %{python3_sitelib}/%{name}/patched/prettytoml/LICENSE %license %{python3_sitelib}/%{name}/patched/safety/LICENSE %license %{python3_sitelib}/%{name}/vendor/click_didyoumean/LICENSE -%license %{python3_sitelib}/%{name}/vendor/delegator.py.LICENSE -%license %{python3_sitelib}/%{name}/vendor/dotenv/LICENSE -%license %{python3_sitelib}/%{name}/vendor/pipdeptree.LICENSE +%license %{python3_sitelib}/%{name}/vendor/cursor/LICENSE +%license %{python3_sitelib}/%{name}/vendor/passa/LICENSE %license %{python3_sitelib}/%{name}/vendor/pipreqs/LICENSE +%license %{python3_sitelib}/%{name}/vendor/pip_shims/LICENSE +%license %{python3_sitelib}/%{name}/vendor/plette/LICENSE %license %{python3_sitelib}/%{name}/vendor/pythonfinder/LICENSE.txt %license %{python3_sitelib}/%{name}/vendor/requirementslib/LICENSE -%license %{python3_sitelib}/%{name}/vendor/requirementslib/LICENSE.APACHE -%license %{python3_sitelib}/%{name}/vendor/requirementslib/LICENSE.BSD -%license %{python3_sitelib}/%{name}/vendor/requirementslib/_vendor/pipfile/LICENSE -%license %{python3_sitelib}/%{name}/vendor/requirementslib/_vendor/pipfile/LICENSE.APACHE -%license %{python3_sitelib}/%{name}/vendor/requirementslib/_vendor/pipfile/LICENSE.BSD -%license %{python3_sitelib}/%{name}/vendor/requirements/LICENSE.rst -%license %{python3_sitelib}/%{name}/vendor/shellingham/LICENSE +%license %{python3_sitelib}/%{name}/vendor/resolvelib/LICENSE %license %{python3_sitelib}/%{name}/vendor/shutilwhich/LICENSE -%license %{python3_sitelib}/%{name}/vendor/yarg/LICENSE - -# We don't ship those requests: -%exclude %{python3_sitelib}/%{name}/vendor/yarg/LICENSE-REQUESTS +%license %{python3_sitelib}/%{name}/vendor/tomlkit/LICENSE +%license %{python3_sitelib}/%{name}/vendor/vistir/LICENSE +%license %{python3_sitelib}/%{name}/vendor/yaspin/LICENSE -# https://github.com/pypa/pipenv/issues/2678 -%exclude %{python3_sitelib}/%{name}/patched/piptools/LICENSE.txt - -%doc README.rst NOTICES CHANGELOG.rst HISTORY.txt +%doc README.md NOTICES CHANGELOG.rst HISTORY.txt %{_bindir}/pipenv %{_bindir}/pipenv-resolver -%{_bindir}/pewtwo %{python3_sitelib}/%{name} %{python3_sitelib}/%{name}-%{version}-py?.?.egg-info -%exclude %{python3_sitelib}/tests -%exclude %{python3_sitelib}/tasks %files -n %{name}-doc %doc html %license LICENSE %changelog +* Fri Nov 23 2018 Miro Hrončok - 2018.11.14-1 +- Update to 2018.11.14 (#1652091) +- Should fix incompatibility with pip (#1651317) + * Wed Aug 01 2018 Miro Hrončok - 2018.7.1-2 - Correct the name of bundled dotenv to python-dotenv diff --git a/sources b/sources index 8d34755..d4c26c2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (pipenv-2018.7.1.tar.gz) = b1d53436dc29b82d66bba80df7fd3e7d5778342eb046a38530e9641e6d53eb218798e243e6a89c488e675397c4a9d6d8335df8c3aa7d17e9cadc637a23b6e4f5 +SHA512 (pipenv-2018.11.14.tar.gz) = 99625251eae83ae1a21d59aaadde10e5c8288936dd094fb7edd23a182911e2c330f520e96bf374a790743ff6e08942d95a155f8257899cdde58053e747c64630