public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Lumir Balhar <lbalhar@redhat.com>
To: git-commits@fedoraproject.org
Subject: [rpms/python-setuptools] rawhide: Update to 83.0.0 (rhbz#2497061)
Date: Thu, 09 Jul 2026 11:13:28 GMT	[thread overview]
Message-ID: <178359560895.1.230033453634917049.rpms-python-setuptools-73a5e5a8f038@fedoraproject.org> (raw)

A new commit has been pushed.

Repo   : rpms/python-setuptools
Branch : rawhide
Commit : 73a5e5a8f038d9812daefaea6ddf0aa0bad9dc8b
Author : Lumir Balhar <lbalhar@redhat.com>
Date   : 2026-07-06T22:27:25+02:00
Stats  : +2/-244 in 3 file(s)
URL    : https://src.fedoraproject.org/rpms/python-setuptools/c/73a5e5a8f038d9812daefaea6ddf0aa0bad9dc8b?branch=rawhide

Log:
Update to 83.0.0 (rhbz#2497061)

---
diff --git a/5244.patch b/5244.patch
deleted file mode 100644
index bafdadf..0000000
--- a/5244.patch
+++ /dev/null
@@ -1,239 +0,0 @@
-From cad2e714081a5502f80436c6f936e9101ed42c0f Mon Sep 17 00:00:00 2001
-From: "Jason R. Coombs" <jaraco@jaraco.com>
-Date: Sat, 27 Jun 2026 17:19:44 -0400
-Subject: [PATCH 1/4] Materialize product() for parametrize
-
-A one-shot iterator (itertools.product) passed to @pytest.mark.parametrize
-gets exhausted after the first of this class' test methods collects, so the
-rest are silently skipped. pytest 9.1 deprecates this (pytest-dev/pytest#13409,
-PytestRemovedIn10Warning), turning it into a collection error. Wrap it in
-list() so the values can be reused.
-
-Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
----
- setuptools/tests/test_config_discovery.py | 12 ++++++++----
- 1 file changed, 8 insertions(+), 4 deletions(-)
-
-diff --git a/setuptools/tests/test_config_discovery.py b/setuptools/tests/test_config_discovery.py
-index b5df8203cd..15ddebce1a 100644
---- a/setuptools/tests/test_config_discovery.py
-+++ b/setuptools/tests/test_config_discovery.py
-@@ -162,10 +162,14 @@ def test_project(self, tmp_path, circumstance):
- 
-     @pytest.mark.parametrize(
-         ("config_file", "param", "circumstance"),
--        product(
--            ["setup.cfg", "setup.py", "pyproject.toml"],
--            ["packages", "py_modules"],
--            FILES.keys(),
-+        # ``list`` because a one-shot iterator gets exhausted across this
-+        # class' test methods; deprecated in pytest 9.1 (pytest-dev/pytest#13409).
-+        list(
-+            product(
-+                ["setup.cfg", "setup.py", "pyproject.toml"],
-+                ["packages", "py_modules"],
-+                FILES.keys(),
-+            )
-         ),
-     )
-     def test_purposefully_empty(self, tmp_path, config_file, param, circumstance):
-
-From a6bbbb9aff9a8c1b82c44746d9cba5624403660a Mon Sep 17 00:00:00 2001
-From: "Jason R. Coombs" <jaraco@jaraco.com>
-Date: Sun, 28 Jun 2026 15:41:18 -0400
-Subject: [PATCH 2/4] Encapsulate eager product as greedy_product helper
-
-Replace the inline list(product(...)) with a module-level
-greedy_product = compose(list, product), documenting the pytest 9.1
-re-iterable-Collection requirement (pytest-dev/pytest#13409) as its docstring.
-
-Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
----
- setuptools/tests/test_config_discovery.py | 23 +++++++++++++++--------
- 1 file changed, 15 insertions(+), 8 deletions(-)
-
-diff --git a/setuptools/tests/test_config_discovery.py b/setuptools/tests/test_config_discovery.py
-index 15ddebce1a..97ce8669b8 100644
---- a/setuptools/tests/test_config_discovery.py
-+++ b/setuptools/tests/test_config_discovery.py
-@@ -6,6 +6,7 @@
- 
- import jaraco.path
- import pytest
-+from jaraco.functools import compose
- from path import Path
- 
- import setuptools  # noqa: F401 # force distutils.core to be patched
-@@ -20,6 +21,16 @@
- 
- import distutils.core
- 
-+greedy_product = compose(list, product)
-+"""
-+``itertools.product`` rendered eager (a list rather than a one-shot iterator).
-+
-+``@pytest.mark.parametrize`` needs a re-iterable Collection for ``argvalues``:
-+a bare iterator gets exhausted after the first of a class' test methods is
-+collected, silently skipping the rest. Deprecated in pytest 9.1, raising
-+``PytestRemovedIn10Warning`` (pytest-dev/pytest#13409).
-+"""
-+
- 
- class TestFindParentPackage:
-     def test_single_package(self, tmp_path):
-@@ -162,14 +173,10 @@ def test_project(self, tmp_path, circumstance):
- 
-     @pytest.mark.parametrize(
-         ("config_file", "param", "circumstance"),
--        # ``list`` because a one-shot iterator gets exhausted across this
--        # class' test methods; deprecated in pytest 9.1 (pytest-dev/pytest#13409).
--        list(
--            product(
--                ["setup.cfg", "setup.py", "pyproject.toml"],
--                ["packages", "py_modules"],
--                FILES.keys(),
--            )
-+        greedy_product(
-+            ["setup.cfg", "setup.py", "pyproject.toml"],
-+            ["packages", "py_modules"],
-+            FILES.keys(),
-         ),
-     )
-     def test_purposefully_empty(self, tmp_path, config_file, param, circumstance):
-
-From c5f158ac63147898f62e40fa6ea8287bbd679392 Mon Sep 17 00:00:00 2001
-From: "Jason R. Coombs" <jaraco@jaraco.com>
-Date: Sun, 28 Jun 2026 15:54:55 -0400
-Subject: [PATCH 3/4] Make greedy_product a typed function
-
-compose(list, product) can't be typed: product is an overloaded callable, and
-passing it by value to compose's Callable[_P, _R] parameter collapses it to its
-first overload (single iterable), so mypy types the result as a one-arg function
-(var-annotated / arg-type / too-many-arguments errors).
-
-Define greedy_product as a function that *calls* product(*iterables) instead, so
-the variadic overload resolves normally and the helper types cleanly.
-
-Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
----
- setuptools/tests/test_config_discovery.py | 20 +++++++++++---------
- 1 file changed, 11 insertions(+), 9 deletions(-)
-
-diff --git a/setuptools/tests/test_config_discovery.py b/setuptools/tests/test_config_discovery.py
-index 97ce8669b8..47cde7f220 100644
---- a/setuptools/tests/test_config_discovery.py
-+++ b/setuptools/tests/test_config_discovery.py
-@@ -1,12 +1,12 @@
- import os
- import sys
-+from collections.abc import Iterable
- from configparser import ConfigParser
- from itertools import product
- from typing import cast
- 
- import jaraco.path
- import pytest
--from jaraco.functools import compose
- from path import Path
- 
- import setuptools  # noqa: F401 # force distutils.core to be patched
-@@ -21,15 +21,17 @@
- 
- import distutils.core
- 
--greedy_product = compose(list, product)
--"""
--``itertools.product`` rendered eager (a list rather than a one-shot iterator).
- 
--``@pytest.mark.parametrize`` needs a re-iterable Collection for ``argvalues``:
--a bare iterator gets exhausted after the first of a class' test methods is
--collected, silently skipping the rest. Deprecated in pytest 9.1, raising
--``PytestRemovedIn10Warning`` (pytest-dev/pytest#13409).
--"""
-+def greedy_product(*iterables: Iterable[object]) -> list[tuple[object, ...]]:
-+    """
-+    ``itertools.product`` rendered eager (a list rather than a one-shot iterator).
-+
-+    ``@pytest.mark.parametrize`` needs a re-iterable Collection for ``argvalues``:
-+    a bare iterator gets exhausted after the first of a class' test methods is
-+    collected, silently skipping the rest. Deprecated in pytest 9.1, raising
-+    ``PytestRemovedIn10Warning`` (pytest-dev/pytest#13409).
-+    """
-+    return list(product(*iterables))
- 
- 
- class TestFindParentPackage:
-
-From ee52871601dd18c33f317e6856ae465d5fbc1d59 Mon Sep 17 00:00:00 2001
-From: "Jason R. Coombs" <jaraco@jaraco.com>
-Date: Sun, 28 Jun 2026 16:17:21 -0400
-Subject: [PATCH 4/4] Restore compose(list, product) with linked type: ignores
-
-Revert greedy_product to the concise compose(list, product) form. mypy can't
-type it (product is overloaded; passing it by value through compose's ParamSpec
-collapses it to its first overload, python/mypy#13540), so suppress the
-resulting var-annotated/arg-type/call-arg errors with type: ignore comments that
-cite the upstream issue. warn_unused_ignores is disabled in mypy.ini, so these
-are safe.
-
-Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
----
- setuptools/tests/test_config_discovery.py | 24 ++++++++++++-----------
- 1 file changed, 13 insertions(+), 11 deletions(-)
-
-diff --git a/setuptools/tests/test_config_discovery.py b/setuptools/tests/test_config_discovery.py
-index 47cde7f220..233a5bf82e 100644
---- a/setuptools/tests/test_config_discovery.py
-+++ b/setuptools/tests/test_config_discovery.py
-@@ -1,12 +1,12 @@
- import os
- import sys
--from collections.abc import Iterable
- from configparser import ConfigParser
- from itertools import product
- from typing import cast
- 
- import jaraco.path
- import pytest
-+from jaraco.functools import compose
- from path import Path
- 
- import setuptools  # noqa: F401 # force distutils.core to be patched
-@@ -21,17 +21,19 @@
- 
- import distutils.core
- 
-+greedy_product = compose(list, product)  # type: ignore[var-annotated,arg-type] # python/mypy#13540
-+"""
-+``itertools.product`` rendered eager (a list rather than a one-shot iterator).
- 
--def greedy_product(*iterables: Iterable[object]) -> list[tuple[object, ...]]:
--    """
--    ``itertools.product`` rendered eager (a list rather than a one-shot iterator).
-+``@pytest.mark.parametrize`` needs a re-iterable Collection for ``argvalues``:
-+a bare iterator gets exhausted after the first of a class' test methods is
-+collected, silently skipping the rest. Deprecated in pytest 9.1, raising
-+``PytestRemovedIn10Warning`` (pytest-dev/pytest#13409).
- 
--    ``@pytest.mark.parametrize`` needs a re-iterable Collection for ``argvalues``:
--    a bare iterator gets exhausted after the first of a class' test methods is
--    collected, silently skipping the rest. Deprecated in pytest 9.1, raising
--    ``PytestRemovedIn10Warning`` (pytest-dev/pytest#13409).
--    """
--    return list(product(*iterables))
-+The ``type: ignore`` comments work around python/mypy#13540: mypy collapses the
-+overloaded ``product`` to its first overload when it is passed by value through
-+``compose``'s ParamSpec, mis-typing the result as a single-argument callable.
-+"""
- 
- 
- class TestFindParentPackage:
-@@ -175,7 +177,7 @@ def test_project(self, tmp_path, circumstance):
- 
-     @pytest.mark.parametrize(
-         ("config_file", "param", "circumstance"),
--        greedy_product(
-+        greedy_product(  # type: ignore[call-arg] # python/mypy#13540
-             ["setup.cfg", "setup.py", "pyproject.toml"],
-             ["packages", "py_modules"],
-             FILES.keys(),

diff --git a/python-setuptools.spec b/python-setuptools.spec
index 2452a07..7d9c072 100644
--- a/python-setuptools.spec
+++ b/python-setuptools.spec
@@ -10,7 +10,7 @@
 
 Name:           python-setuptools
 # When updating, update the bundled libraries versions bellow!
-Version:        82.0.1
+Version:        83.0.0
 Release:        %autorelease
 Summary:        Easily build and distribute Python packages
 # setuptools is MIT
@@ -38,9 +38,6 @@ Patch:          Remove-optional-or-unpackaged-test-deps.patch
 # adjust it, but only when $RPM_BUILD_ROOT is set
 Patch:          Adjust-the-setup.py-install-deprecation-message.patch
 
-# Fix test collection error with pytest >= 9.1 (non-Collection iterable in parametrize)
-Patch:          https://github.com/pypa/setuptools/pull/5244.patch
-
 BuildArch:      noarch
 
 BuildRequires:  python%{python3_pkgversion}-devel

diff --git a/sources b/sources
index 6d25cdc..c57f6ed 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (setuptools-82.0.1.tar.gz) = 5d70e9efd818245fb8119a4eed64d776078469ed884facc188f141ea491efd9fde5c10c928d3236ea5e2e431b16616f18ed14870b867f95e6320251707332395
+SHA512 (setuptools-83.0.0.tar.gz) = d426f235471d30b41391bda63e8f3d461f54a6a4127594a2e2d0cab0c7576d511db5e5f211ed6cdac2afc620d3695e991a1dd08106f1201ec64697b14b3e0390

                 reply	other threads:[~2026-07-09 11:13 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=178359560895.1.230033453634917049.rpms-python-setuptools-73a5e5a8f038@fedoraproject.org \
    --to=lbalhar@redhat.com \
    --cc=git-commits@fedoraproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox