commit:     068caa88a680297633f17f26e64a45bfffe6fb5b
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Feb  3 13:35:08 2024 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Feb  3 13:36:16 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=068caa88

dev-python/build: Backport setuptools-69.0.3+ test fixes

Closes: https://bugs.gentoo.org/923622
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/build/build-1.0.3.ebuild                |   7 +-
 .../build/files/build-1.0.3-setuptools-69.patch    | 102 +++++++++++++++++++++
 2 files changed, 108 insertions(+), 1 deletion(-)

diff --git a/dev-python/build/build-1.0.3.ebuild 
b/dev-python/build/build-1.0.3.ebuild
index e1c120c79606..b5380c983e46 100644
--- a/dev-python/build/build-1.0.3.ebuild
+++ b/dev-python/build/build-1.0.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -41,6 +41,11 @@ BDEPEND="
 
 distutils_enable_tests pytest
 
+PATCHES=(
+       # https://github.com/pypa/build/pull/722
+       "${FILESDIR}/${P}-setuptools-69.patch"
+)
+
 python_test() {
        local EPYTEST_DESELECT=(
                # broken by the presence of flit_core

diff --git a/dev-python/build/files/build-1.0.3-setuptools-69.patch 
b/dev-python/build/files/build-1.0.3-setuptools-69.patch
new file mode 100644
index 000000000000..3aa79d080245
--- /dev/null
+++ b/dev-python/build/files/build-1.0.3-setuptools-69.patch
@@ -0,0 +1,102 @@
+From 9f6e34228a0da7e5ce724f400a34bc9f4e69a1ac Mon Sep 17 00:00:00 2001
+From: Henry Schreiner <[email protected]>
+Date: Wed, 17 Jan 2024 02:44:57 -0500
+Subject: [PATCH] tests: support setuptools v69.0.3+ (#722)
+
+* tests: support setuptools v69.0.3+
+
+Signed-off-by: Henry Schreiner <[email protected]>
+
+* tests: missed one more normalization fix
+
+Signed-off-by: Henry Schreiner <[email protected]>
+
+* fix: add MANIFEST.in for old setuptools in tests
+
+Signed-off-by: Henry Schreiner <[email protected]>
+
+* tests: used the wrong name
+
+Signed-off-by: Henry Schreiner <[email protected]>
+
+---------
+
+Signed-off-by: Henry Schreiner <[email protected]>
+---
+ tests/packages/test-setuptools/MANIFEST.in | 1 +
+ tests/test_projectbuilder.py               | 6 ++++--
+ tests/test_self_packaging.py               | 1 +
+ tests/test_util.py                         | 6 ++++--
+ 4 files changed, 10 insertions(+), 4 deletions(-)
+ create mode 100644 tests/packages/test-setuptools/MANIFEST.in
+
+diff --git a/tests/packages/test-setuptools/MANIFEST.in 
b/tests/packages/test-setuptools/MANIFEST.in
+new file mode 100644
+index 0000000..e69e3cf
+--- /dev/null
++++ b/tests/packages/test-setuptools/MANIFEST.in
+@@ -0,0 +1 @@
++include pyproject.toml setup.cfg
+diff --git a/tests/test_projectbuilder.py b/tests/test_projectbuilder.py
+index d46927b..69914ab 100644
+--- a/tests/test_projectbuilder.py
++++ b/tests/test_projectbuilder.py
+@@ -502,7 +502,8 @@ def test_metadata_path_no_prepare(tmp_dir, 
package_test_no_prepare):
+         pathlib.Path(builder.metadata_path(tmp_dir)),
+     ).metadata
+ 
+-    assert metadata['name'] == 'test-no-prepare'
++    # Setuptools < v69.0.3 (https://github.com/pypa/setuptools/pull/4159) 
normalized this to dashes
++    assert metadata['name'].replace('-', '_') == 'test_no_prepare'
+     assert metadata['Version'] == '1.0.0'
+ 
+ 
+@@ -513,7 +514,8 @@ def test_metadata_path_with_prepare(tmp_dir, 
package_test_setuptools):
+         pathlib.Path(builder.metadata_path(tmp_dir)),
+     ).metadata
+ 
+-    assert metadata['name'] == 'test-setuptools'
++    # Setuptools < v69.0.3 (https://github.com/pypa/setuptools/pull/4159) 
normalized this to dashes
++    assert metadata['name'].replace('-', '_') == 'test_setuptools'
+     assert metadata['Version'] == '1.0.0'
+ 
+ 
+diff --git a/tests/test_self_packaging.py b/tests/test_self_packaging.py
+index fb1d124..3a436ef 100644
+--- a/tests/test_self_packaging.py
++++ b/tests/test_self_packaging.py
+@@ -27,6 +27,7 @@ sdist_files = {
+     'tests/constraints.txt',
+     
'tests/packages/test-cant-build-via-sdist/some-file-that-is-needed-for-build.txt',
+     'tests/packages/test-no-project/empty.txt',
++    'tests/packages/test-setuptools/MANIFEST.in',
+     'tox.ini',
+ }
+ 
+diff --git a/tests/test_util.py b/tests/test_util.py
+index 8045b51..0ab81b8 100644
+--- a/tests/test_util.py
++++ b/tests/test_util.py
+@@ -12,7 +12,8 @@ import build.util
+ def test_wheel_metadata(package_test_setuptools, isolated):
+     metadata = build.util.project_wheel_metadata(package_test_setuptools, 
isolated)
+ 
+-    assert metadata['name'] == 'test-setuptools'
++    # Setuptools < v69.0.3 (https://github.com/pypa/setuptools/pull/4159) 
normalized this to dashes
++    assert metadata['name'].replace('-', '_') == 'test_setuptools'
+     assert metadata['version'] == '1.0.0'
+     assert isinstance(metadata.json, dict)
+ 
+@@ -41,7 +42,8 @@ def test_wheel_metadata_isolation(package_test_flit):
+ def test_with_get_requires(package_test_metadata):
+     metadata = build.util.project_wheel_metadata(package_test_metadata)
+ 
+-    assert metadata['name'] == 'test-metadata'
++    # Setuptools < v69.0.3 (https://github.com/pypa/setuptools/pull/4159) 
normalized this to dashes
++    assert metadata['name'].replace('-', '_') == 'test_metadata'
+     assert str(metadata['version']) == '1.0.0'
+     assert metadata['summary'] == 'hello!'
+     assert isinstance(metadata.json, dict)
+-- 
+2.43.0
+

Reply via email to