Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-setuptools for 
openSUSE:Factory checked in at 2021-07-16 22:12:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-setuptools (Old)
 and      /work/SRC/openSUSE:Factory/.python-setuptools.new.2632 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-setuptools"

Fri Jul 16 22:12:21 2021 rev:65 rq:904146 version:57.0.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-setuptools/python-setuptools.changes      
2021-01-26 14:44:42.603251533 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-setuptools.new.2632/python-setuptools.changes
    2021-07-16 22:12:22.706984422 +0200
@@ -1,0 +2,27 @@
+Mon Jul  5 09:22:44 UTC 2021 - Antonio Larrosa <alarr...@suse.com>
+
+- Add patch to remove a dependency cycle between
+  python-more-itertools and python-setuptools (which requires the
+  former just for one simple function):
+  * remove-more-itertools-dependency-cycle.patch
+
+-------------------------------------------------------------------
+Fri Jun 25 12:46:26 UTC 2021 - Ben Greiner <c...@bnavigator.de>
+
+- Update to 57.0.0
+  * big changelog since 44.1, see CHANGES.rst.
+- No python2 support anymore.
+- Refresh sort-for-reproducibility.patch and remove_mock.patch.
+- Drop importlib.patch, fixed upstream.
+- Remove testdata.tar.gz, packaged upstream.
+- Update requirements.
+  * New Ring-1 dep: python-jaraco.path <-- python-singledispatch
+
+-------------------------------------------------------------------
+Thu Jun 17 17:03:46 UTC 2021 - Ben Greiner <c...@bnavigator.de>
+
+- Add python dist provides for setuptools, pkg_resources and
+  easy_install: work around boo#1186870
+- Dont create a package for -test flavor
+
+-------------------------------------------------------------------

Old:
----
  importlib.patch
  setuptools-44.1.1.zip
  testdata.tar.gz

New:
----
  remove-more-itertools-dependency-cycle.patch
  setuptools-57.0.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-setuptools.spec ++++++
--- /var/tmp/diff_new_pack.uLWiUJ/_old  2021-07-16 22:12:23.834976450 +0200
+++ /var/tmp/diff_new_pack.uLWiUJ/_new  2021-07-16 22:12:23.834976450 +0200
@@ -1,5 +1,5 @@
 #
-# spec file for package python-setuptools
+# spec file
 #
 # Copyright (c) 2021 SUSE LLC
 #
@@ -16,8 +16,8 @@
 #
 
 
-%{?!python_module:%define python_module() python-%{**} python3-%{**}}
-%define oldpython python
+%{?!python_module:%define python_module() python3-%{**}}
+%define skip_python2 1
 %global flavor @BUILD_FLAVOR@%{nil}
 %if "%{flavor}" == "test"
 %define psuffix -test
@@ -33,65 +33,67 @@
 %bcond_with wheel
 %endif
 %endif
-%bcond_without python2
+# in order to avoid rewriting for subpackage generator
+%define mypython python
 Name:           python-setuptools%{psuffix}
-Version:        44.1.1
+Version:        57.0.0
 Release:        0
-Summary:        Enhancements to distutils for building and distributing Python 
packages
+Summary:        Download, build, install, upgrade, and uninstall Python 
packages
 License:        MIT
 URL:            https://github.com/pypa/setuptools
-Source:         
https://files.pythonhosted.org/packages/source/s/setuptools/setuptools-%{version}.zip
-Source3:        testdata.tar.gz
+Source:         
https://files.pythonhosted.org/packages/source/s/setuptools/setuptools-%{version}.tar.gz
 Patch0:         sort-for-reproducibility.patch
-Patch1:         importlib.patch
-# PATCH-FIX-UPSTREAM remove_mock.patch bsc#[0-9]+ mc...@suse.com
-# we don't need stinking mock
-Patch2:         remove_mock.patch
-BuildRequires:  %{python_module appdirs}
-BuildRequires:  %{python_module ordered-set}
-BuildRequires:  %{python_module packaging}
-BuildRequires:  %{python_module pyparsing >= 2.0.2}
-BuildRequires:  %{python_module six}
+# PATCH-FIX-OPENSUSE remove_mock.patch mc...@suse.com
+Patch1:         remove_mock.patch
+# PATCH-FIX-OPENSUSE remove-more-itertools-dependency-cycle.patch 
alarr...@suse.com
+Patch2:         remove-more-itertools-dependency-cycle.patch
+BuildRequires:  %{python_module appdirs >= 1.4.3}
+BuildRequires:  %{python_module ordered-set >= 3.1.1}
+BuildRequires:  %{python_module packaging >= 20.4}
+BuildRequires:  %{python_module pyparsing >= 2.2.1}
 BuildRequires:  %{python_module xml}
 BuildRequires:  fdupes
 BuildRequires:  python-rpm-macros
 BuildRequires:  unzip
-Requires:       python-appdirs
-Requires:       python-base
-Requires:       python-ordered-set
-Requires:       python-packaging
-Requires:       python-six
+Requires:       python-appdirs >= 1.4.3
+Requires:       python-base >= 3.6
+Requires:       python-ordered-set >= 3.1.1
+Requires:       python-packaging >= 20.4
+Requires:       python-pyparsing >= 2.2.1
 Requires:       python-xml
 Requires(post): update-alternatives
-Requires(postun): update-alternatives
+Requires(postun):update-alternatives
 BuildArch:      noarch
-# The dependency download feature may require SSL, which is in python3-base 
and python(2)
-%ifpython2
-Requires:       python
-%endif
 %if %{with test}
 BuildRequires:  %{python_module Paver}
+BuildRequires:  %{python_module Sphinx}
 BuildRequires:  %{python_module devel}
+BuildRequires:  %{python_module jaraco.envs}
+BuildRequires:  %{python_module jaraco.path >= 3.2.0}
 BuildRequires:  %{python_module pip}
 BuildRequires:  %{python_module pytest-fixture-config}
 BuildRequires:  %{python_module pytest-virtualenv}
+BuildRequires:  %{python_module pytest-xdist}
 BuildRequires:  %{python_module pytest}
 BuildRequires:  %{python_module setuptools >= %{version}}
+BuildRequires:  %{python_module virtualenv >= 13.0.0}
 BuildRequires:  %{python_module wheel}
-%if %{with python2}
-BuildRequires:  python-futures
-%endif
 %endif
 %if 0%{?suse_version} || 0%{?fedora_version} >= 24
 Recommends:     ca-certificates-mozilla
 %endif
-%ifpython2
-Provides:       %{oldpython}-distribute = %{version}
-Obsoletes:      %{oldpython}-distribute < %{version}
-%endif
 %if %{with wheel}
 BuildRequires:  %{python_module wheel}
 %endif
+%if !%{with test} && !%{with wheel}
+# work around boo#1186870
+Provides:       %{mypython}%{python_version}dist(setuptools) = %{version}
+Provides:       %{mypython}%{python_version}dist(pkg_resources) = %{version}
+%if "%{python_flavor}" == "python3" || "%{python_provides}" == "python3"
+Provides:       %{mypython}3dist(pkg_resources) = %{version}
+Provides:       %{mypython}3dist(setuptools) = %{version}
+%endif
+%endif
 %python_subpackages
 
 %description
@@ -100,15 +102,7 @@
 especially ones that have dependencies on other packages.
 
 %prep
-%setup -q -n setuptools-%{version}
-
-tar -xzvf %{SOURCE3}
-%autopatch -p1
-
-find . -type f -name "*.orig" -delete
-
-# fix rpmlint spurious-executable-perm
-chmod -x README.rst
+%autosetup -p1 -n setuptools-%{version}
 
 # strip shebangs to fix rpmlint warnings
 # "explain the sed":
@@ -116,7 +110,7 @@
 # s@...@...@ = same as s/.../.../ except with @ instead of /
 # ^ = start; #!/ = shebang leading characters; .* = rest of line; $ = end
 # replace with nothing
-sed -r -i '1s@^#!/.*$@@' setuptools/command/easy_install.py
+sed -r -i '1s@^#!/.*$@@' pkg_resources/_vendor/appdirs.py
 
 %if ! %{with wheel}
 # replace the bundled stuff
@@ -145,8 +139,6 @@
 %install
 %if !%{with test} && !%{with wheel}
 %python_install
-%prepare_alternative easy_install
-
 %python_expand %fdupes %{buildroot}%{$python_sitelib}
 %endif
 
@@ -158,36 +150,32 @@
 %if %{with test}
 # the 4 skipped test rely on the bundled packages but they are
 # not available on virtualenv; this is expected behaviour
+donttest="test_clean_env_install or test_pip_upgrade_from_source or 
test_test_command_install_requirements or test_no_missing_dependencies"
+# these 3 tests try to download the wheel wheel from PyPI
+donttest="$donttest or (test_distutils_adoption and (distutils_stdlib or 
distutils_local))"
 export LANG=en_US.UTF-8
 # tests need imports local source dir
 export PYTHONPATH=$(pwd)
-%pytest -k 'not (test_clean_env_install or test_pip_upgrade_from_source or 
test_test_command_install_requirements or test_no_missing_dependencies)'
-%endif
-
-%if !%{with test} && !%{with wheel}
-%post
-%python_install_alternative easy_install
-
-%postun
-%python_uninstall_alternative easy_install
+%pytest -rfE -n auto -k "not ($donttest)"
 %endif
 
+%if !%{with test}
 %files %{python_files}
-%if !%{with test} && !%{with wheel}
+%if !%{with wheel}
 %license LICENSE
 %doc CHANGES.rst README.rst
-%python_alternative %{_bindir}/easy_install
 %{python_sitelib}/setuptools
 %{python_sitelib}/setuptools-%{version}-py%{python_version}.egg-info
-%{python_sitelib}/easy_install.py*
-%pycache_only %{python_sitelib}/__pycache__/easy_install.*
 %dir %{python_sitelib}/pkg_resources
 %{python_sitelib}/pkg_resources/*
+%{python_sitelib}/_distutils_hack
+%{python_sitelib}/distutils-precedence.pth
 %endif
 
 %if %{with wheel}
 %dir %{python_sitelib}/../wheels
 %{python_sitelib}/../wheels/*
 %endif
+%endif
 
 %changelog

++++++ remove-more-itertools-dependency-cycle.patch ++++++
From: Antonio Larrosa <alarr...@suse.com>
Subject: Remove dependency on more_itertools which generates a dependency cycle

setuptools buildrequires more_itertools just for one simple function
(unique_everseen) and more_itertools buildrequires setuptools, so
in order to remove the cycle, the unique_everseen function is copied
here so that it can be used without buildrequiring the external package.

Index: setuptools-57.0.0/setuptools/extern/__init__.py
===================================================================
--- setuptools-57.0.0.orig/setuptools/extern/__init__.py
+++ setuptools-57.0.0/setuptools/extern/__init__.py
@@ -69,5 +69,5 @@ class VendorImporter:
             sys.meta_path.append(self)
 
 
-names = 'packaging', 'pyparsing', 'ordered_set', 'more_itertools',
+names = 'packaging', 'pyparsing', 'ordered_set'
 VendorImporter(__name__, names, 'setuptools._vendor').install()
Index: setuptools-57.0.0/setuptools/dist.py
===================================================================
--- setuptools-57.0.0.orig/setuptools/dist.py
+++ setuptools-57.0.0/setuptools/dist.py
@@ -29,7 +29,7 @@ from distutils.version import StrictVers
 
 from setuptools.extern import packaging
 from setuptools.extern import ordered_set
-from setuptools.extern.more_itertools import unique_everseen
+from setuptools.more_itertools import unique_everseen
 
 from . import SetuptoolsDeprecationWarning
 
Index: setuptools-57.0.0/setuptools/more_itertools.py
===================================================================
--- /dev/null
+++ setuptools-57.0.0/setuptools/more_itertools.py
@@ -0,0 +1,19 @@
+def unique_everseen(iterable, key=None):
+    """Yield unique elements, preserving order."""
+
+    seenset = set()
+    seenset_add = seenset.add
+    seenlist = []
+    seenlist_add = seenlist.append
+    use_key = key is not None
+
+    for element in iterable:
+        k = key(element) if use_key else element
+        try:
+            if k not in seenset:
+                seenset_add(k)
+                yield element
+        except TypeError:
+            if k not in seenlist:
+                seenlist_add(k)
+                yield element
Index: setuptools-57.0.0/setuptools/command/build_py.py
===================================================================
--- setuptools-57.0.0.orig/setuptools/command/build_py.py
+++ setuptools-57.0.0/setuptools/command/build_py.py
@@ -8,7 +8,7 @@ import io
 import distutils.errors
 import itertools
 import stat
-from setuptools.extern.more_itertools import unique_everseen
+from setuptools.more_itertools import unique_everseen
 
 try:
     from setuptools.lib2to3_ex import Mixin2to3
Index: setuptools-57.0.0/setuptools/msvc.py
===================================================================
--- setuptools-57.0.0.orig/setuptools/msvc.py
+++ setuptools-57.0.0/setuptools/msvc.py
@@ -30,7 +30,7 @@ import itertools
 import subprocess
 import distutils.errors
 from setuptools.extern.packaging.version import LegacyVersion
-from setuptools.extern.more_itertools import unique_everseen
+from setuptools.more_itertools import unique_everseen
 
 from .monkey import get_unpatched
 
Index: setuptools-57.0.0/setuptools/package_index.py
===================================================================
--- setuptools-57.0.0.orig/setuptools/package_index.py
+++ setuptools-57.0.0/setuptools/package_index.py
@@ -28,7 +28,7 @@ from distutils import log
 from distutils.errors import DistutilsError
 from fnmatch import translate
 from setuptools.wheel import Wheel
-from setuptools.extern.more_itertools import unique_everseen
+from setuptools.more_itertools import unique_everseen
 
 
 EGG_FRAGMENT = re.compile(r'^egg=([-A-Za-z0-9_.+!]+)$')
Index: setuptools-57.0.0/setuptools/command/test.py
===================================================================
--- setuptools-57.0.0.orig/setuptools/command/test.py
+++ setuptools-57.0.0/setuptools/command/test.py
@@ -12,7 +12,7 @@ from pkg_resources import (resource_list
                            working_set, _namespace_packages, evaluate_marker,
                            add_activation_listener, require, EntryPoint)
 from setuptools import Command
-from setuptools.extern.more_itertools import unique_everseen
+from setuptools.more_itertools import unique_everseen
 
 
 class ScanningLoader(TestLoader):
++++++ remove_mock.patch ++++++
--- /var/tmp/diff_new_pack.uLWiUJ/_old  2021-07-16 22:12:23.886976083 +0200
+++ /var/tmp/diff_new_pack.uLWiUJ/_new  2021-07-16 22:12:23.890976054 +0200
@@ -11,17 +11,21 @@
  setuptools/tests/test_upload.py           |    5 +----
  10 files changed, 13 insertions(+), 18 deletions(-)
 
---- a/pkg_resources/tests/test_markers.py
-+++ b/pkg_resources/tests/test_markers.py
+Index: setuptools-57.0.0/pkg_resources/tests/test_markers.py
+===================================================================
+--- setuptools-57.0.0.orig/pkg_resources/tests/test_markers.py
++++ setuptools-57.0.0/pkg_resources/tests/test_markers.py
 @@ -1,4 +1,4 @@
 -import mock
 +from . import mock
  
  from pkg_resources import evaluate_marker
  
---- a/pkg_resources/tests/test_pkg_resources.py
-+++ b/pkg_resources/tests/test_pkg_resources.py
-@@ -12,10 +12,7 @@ import stat
+Index: setuptools-57.0.0/pkg_resources/tests/test_pkg_resources.py
+===================================================================
+--- setuptools-57.0.0.orig/pkg_resources/tests/test_pkg_resources.py
++++ setuptools-57.0.0/pkg_resources/tests/test_pkg_resources.py
+@@ -9,10 +9,7 @@ import stat
  import distutils.dist
  import distutils.command.install_egg_info
  
@@ -31,23 +35,27 @@
 -    import mock
 +from . import mock
  
- from pkg_resources import DistInfoDistribution, Distribution, 
EggInfoDistribution
- from setuptools.extern import six
---- a/setuptools/tests/__init__.py
-+++ b/setuptools/tests/__init__.py
-@@ -4,6 +4,10 @@ import pytest
+ from pkg_resources import (
+     DistInfoDistribution, Distribution, EggInfoDistribution,
+Index: setuptools-57.0.0/setuptools/tests/__init__.py
+===================================================================
+--- setuptools-57.0.0.orig/setuptools/tests/__init__.py
++++ setuptools-57.0.0/setuptools/tests/__init__.py
+@@ -5,6 +5,10 @@ import pytest
  
- from setuptools.extern.six import PY2, PY3
+ __all__ = ['fail_on_ascii', 'ack_2to3']
  
 +try:
 +    import mock
 +except ImportError:
 +    from unittest import mock
  
- __all__ = [
-   'fail_on_ascii', 'py2_only', 'py3_only'
---- a/setuptools/tests/test_build_clib.py
-+++ b/setuptools/tests/test_build_clib.py
+ is_ascii = locale.getpreferredencoding() == 'ANSI_X3.4-1968'
+ fail_on_ascii = pytest.mark.xfail(is_ascii, reason="Test fails in this 
locale")
+Index: setuptools-57.0.0/setuptools/tests/test_build_clib.py
+===================================================================
+--- setuptools-57.0.0.orig/setuptools/tests/test_build_clib.py
++++ setuptools-57.0.0/setuptools/tests/test_build_clib.py
 @@ -1,6 +1,6 @@
  import pytest
  
@@ -56,19 +64,23 @@
  from distutils.errors import DistutilsSetupError
  from setuptools.command.build_clib import build_clib
  from setuptools.dist import Distribution
---- a/setuptools/tests/test_easy_install.py
-+++ b/setuptools/tests/test_easy_install.py
-@@ -14,7 +14,7 @@ import itertools
+Index: setuptools-57.0.0/setuptools/tests/test_easy_install.py
+===================================================================
+--- setuptools-57.0.0.orig/setuptools/tests/test_easy_install.py
++++ setuptools-57.0.0/setuptools/tests/test_easy_install.py
+@@ -12,7 +12,7 @@ import itertools
  import distutils.errors
  import io
  import zipfile
 -import mock
 +from . import mock
  import time
- 
- from setuptools.extern import six
---- a/setuptools/tests/test_msvc.py
-+++ b/setuptools/tests/test_msvc.py
+ import re
+ import subprocess
+Index: setuptools-57.0.0/setuptools/tests/test_msvc.py
+===================================================================
+--- setuptools-57.0.0.orig/setuptools/tests/test_msvc.py
++++ setuptools-57.0.0/setuptools/tests/test_msvc.py
 @@ -5,7 +5,7 @@ Tests for msvc support module.
  import os
  import contextlib
@@ -78,19 +90,23 @@
  
  import pytest
  
---- a/setuptools/tests/test_packageindex.py
-+++ b/setuptools/tests/test_packageindex.py
-@@ -6,7 +6,7 @@ import distutils.errors
+Index: setuptools-57.0.0/setuptools/tests/test_packageindex.py
+===================================================================
+--- setuptools-57.0.0.orig/setuptools/tests/test_packageindex.py
++++ setuptools-57.0.0/setuptools/tests/test_packageindex.py
+@@ -6,7 +6,7 @@ import urllib.request
+ import urllib.error
+ import http.client
  
- from setuptools.extern import six
- from setuptools.extern.six.moves import urllib, http_client
 -import mock
 +from . import mock
  import pytest
  
- import pkg_resources
---- a/setuptools/tests/test_register.py
-+++ b/setuptools/tests/test_register.py
+ import setuptools.package_index
+Index: setuptools-57.0.0/setuptools/tests/test_register.py
+===================================================================
+--- setuptools-57.0.0.orig/setuptools/tests/test_register.py
++++ setuptools-57.0.0/setuptools/tests/test_register.py
 @@ -2,10 +2,7 @@ from setuptools.command.register import
  from setuptools.dist import Distribution
  from setuptools.errors import RemovedCommandError
@@ -103,19 +119,20 @@
  
  import pytest
  
---- a/setuptools/tests/test_test.py
-+++ b/setuptools/tests/test_test.py
-@@ -2,7 +2,7 @@
- 
- from __future__ import unicode_literals
- 
+Index: setuptools-57.0.0/setuptools/tests/test_test.py
+===================================================================
+--- setuptools-57.0.0.orig/setuptools/tests/test_test.py
++++ setuptools-57.0.0/setuptools/tests/test_test.py
+@@ -1,4 +1,4 @@
 -import mock
 +from . import mock
  from distutils import log
  import os
  
---- a/setuptools/tests/test_upload.py
-+++ b/setuptools/tests/test_upload.py
+Index: setuptools-57.0.0/setuptools/tests/test_upload.py
+===================================================================
+--- setuptools-57.0.0.orig/setuptools/tests/test_upload.py
++++ setuptools-57.0.0/setuptools/tests/test_upload.py
 @@ -2,10 +2,7 @@ from setuptools.command.upload import up
  from setuptools.dist import Distribution
  from setuptools.errors import RemovedCommandError
@@ -128,9 +145,11 @@
  
  import pytest
  
---- a/setuptools/tests/test_config.py
-+++ b/setuptools/tests/test_config.py
-@@ -5,7 +5,7 @@ import contextlib
+Index: setuptools-57.0.0/setuptools/tests/test_config.py
+===================================================================
+--- setuptools-57.0.0.orig/setuptools/tests/test_config.py
++++ setuptools-57.0.0/setuptools/tests/test_config.py
+@@ -7,7 +7,7 @@ import configparser
  import pytest
  
  from distutils.errors import DistutilsOptionError, DistutilsFileError
@@ -138,18 +157,20 @@
 +from setuptools.tests import mock
  from setuptools.dist import Distribution, _Distribution
  from setuptools.config import ConfigHandler, read_configuration
- from setuptools.extern.six.moves import configparser
-@@ -880,7 +880,7 @@ class TestExternalSetters:
+ from distutils.core import Command
+@@ -974,7 +974,7 @@ class TestExternalSetters:
          })
          return None
  
 -    @patch.object(_Distribution, '__init__', autospec=True)
 +    @mock.patch.object(_Distribution, '__init__', autospec=True)
-     def test_external_setters(self,  mock_parent_init, tmpdir):
+     def test_external_setters(self, mock_parent_init, tmpdir):
          mock_parent_init.side_effect = self._fake_distribution_init
  
+Index: setuptools-57.0.0/pkg_resources/tests/__init__.py
+===================================================================
 --- /dev/null
-+++ b/pkg_resources/tests/__init__.py
++++ setuptools-57.0.0/pkg_resources/tests/__init__.py
 @@ -0,0 +1,4 @@
 +try:
 +    import mock

++++++ sort-for-reproducibility.patch ++++++
--- /var/tmp/diff_new_pack.uLWiUJ/_old  2021-07-16 22:12:23.898975998 +0200
+++ /var/tmp/diff_new_pack.uLWiUJ/_new  2021-07-16 22:12:23.898975998 +0200
@@ -1,6 +1,8 @@
---- a/setuptools/command/easy_install.py
-+++ b/setuptools/command/easy_install.py
-@@ -423,7 +423,7 @@ class easy_install(Command):
+Index: setuptools-57.0.0/setuptools/command/easy_install.py
+===================================================================
+--- setuptools-57.0.0.orig/setuptools/command/easy_install.py
++++ setuptools-57.0.0/setuptools/command/easy_install.py
+@@ -407,7 +407,7 @@ class easy_install(Command):
              for spec in self.args:
                  self.easy_install(spec, not self.no_deps)
              if self.record:
@@ -9,20 +11,24 @@
                  if self.root:  # strip any package prefix
                      root_len = len(self.root)
                      for counter in range(len(outputs)):
---- a/setuptools/command/egg_info.py
-+++ b/setuptools/command/egg_info.py
-@@ -638,7 +638,7 @@ def warn_depends_obsolete(cmd, basename,
- def _write_requirements(stream, reqs):
-     lines = yield_lines(reqs or ())
-     append_cr = lambda line: line + '\n'
+Index: setuptools-57.0.0/setuptools/command/egg_info.py
+===================================================================
+--- setuptools-57.0.0.orig/setuptools/command/egg_info.py
++++ setuptools-57.0.0/setuptools/command/egg_info.py
+@@ -654,7 +654,7 @@ def _write_requirements(stream, reqs):
+ 
+     def append_cr(line):
+         return line + '\n'
 -    lines = map(append_cr, lines)
 +    lines = map(append_cr, sorted(lines))
      stream.writelines(lines)
  
  
---- a/setuptools/dist.py
-+++ b/setuptools/dist.py
-@@ -195,7 +195,7 @@ def write_pkg_file(self, file):
+Index: setuptools-57.0.0/setuptools/dist.py
+===================================================================
+--- setuptools-57.0.0.orig/setuptools/dist.py
++++ setuptools-57.0.0/setuptools/dist.py
+@@ -214,7 +214,7 @@ def write_pkg_file(self, file):  # noqa:
              self.long_description_content_type
          )
      if self.provides_extras:
@@ -30,10 +36,12 @@
 +        for extra in sorted(self.provides_extras):
              write_field('Provides-Extra', extra)
  
- 
---- a/setuptools/tests/test_egg_info.py
-+++ b/setuptools/tests/test_egg_info.py
-@@ -291,8 +291,8 @@ class TestEggInfo:
+     self._write_list(file, 'License-File', self.license_files or [])
+Index: setuptools-57.0.0/setuptools/tests/test_egg_info.py
+===================================================================
+--- setuptools-57.0.0.orig/setuptools/tests/test_egg_info.py
++++ setuptools-57.0.0/setuptools/tests/test_egg_info.py
+@@ -297,8 +297,8 @@ class TestEggInfo:
              wheel>=0.5
              pytest
  

Reply via email to