summaryrefslogtreecommitdiff
path: root/gnu/packages/patches/python-scikit-build-setuptools-compat.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches/python-scikit-build-setuptools-compat.patch')
-rw-r--r--gnu/packages/patches/python-scikit-build-setuptools-compat.patch54
1 files changed, 54 insertions, 0 deletions
diff --git a/gnu/packages/patches/python-scikit-build-setuptools-compat.patch b/gnu/packages/patches/python-scikit-build-setuptools-compat.patch
new file mode 100644
index 0000000000..54b881a16b
--- /dev/null
+++ b/gnu/packages/patches/python-scikit-build-setuptools-compat.patch
@@ -0,0 +1,54 @@
+from https://github.com/scikit-build/scikit-build/commit/3992485c67331097553ec8f54233c4c295943f70.patch
+
+Description: fix(types): Update for newer setuptools
+
+Author: Henry Schreiner <henryschreineriii@gmail.com>
+---
+ skbuild/platform_specifics/windows.py | 2 +-
+ skbuild/setuptools_wrap.py | 2 +-
+ tests/__init__.py | 6 +++++-
+ 3 files changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/skbuild/platform_specifics/windows.py b/skbuild/platform_specifics/windows.py
+index 01085a3c..144dec81 100644
+--- a/skbuild/platform_specifics/windows.py
++++ b/skbuild/platform_specifics/windows.py
+@@ -215,7 +215,7 @@ def _get_msvc_compiler_env(vs_version: int, vs_toolset: str | None = None) -> Ca
+ return __get_msvc_compiler_env_cache[cache_key]
+
+ if hasattr(monkey, "patch_for_msvc_specialized_compiler"):
+- monkey.patch_for_msvc_specialized_compiler() # type: ignore[no-untyped-call]
++ monkey.patch_for_msvc_specialized_compiler()
+
+ vc_dir = find_visual_studio(vs_version)
+ vcvarsall = os.path.join(vc_dir, "vcvarsall.bat")
+diff --git a/skbuild/setuptools_wrap.py b/skbuild/setuptools_wrap.py
+index 8e59631b..f6c60cd5 100644
+--- a/skbuild/setuptools_wrap.py
++++ b/skbuild/setuptools_wrap.py
+@@ -250,7 +250,7 @@ def _parse_setuptools_arguments(
+
+ return (
+ display_only,
+- dist.help_commands, # type: ignore[attr-defined]
++ bool(dist.help_commands),
+ dist.commands,
+ dist.hide_listing, # type: ignore[attr-defined]
+ dist.force_cmake, # type: ignore[attr-defined]
+diff --git a/tests/__init__.py b/tests/__init__.py
+index 4f3c9543..e3942246 100644
+--- a/tests/__init__.py
++++ b/tests/__init__.py
+@@ -215,7 +215,11 @@ def execute_setup_py(project_dir, setup_args, disable_languages_test=False):
+ """
+
+ # See https://stackoverflow.com/questions/9160227/dir-util-copy-tree-fails-after-shutil-rmtree
+- distutils.dir_util._path_created.clear() # type: ignore[attr-defined]
++ to_clear = getattr(
++ distutils.dir_util, "SkipRepeatAbsolutePaths", getattr(distutils.dir_util, "_path_created", None)
++ )
++ assert to_clear, "Must have one of the two supported clearing mechanisms"
++ to_clear.clear()
+
+ # Clear _PYTHON_HOST_PLATFORM to ensure value sets in skbuild.setuptools_wrap.setup() does not
+ # influence other tests.