summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/patches/python-scikit-build-setuptools-compat.patch54
-rw-r--r--gnu/packages/python-xyz.scm19
3 files changed, 63 insertions, 11 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 4fbca72354..e78792fdf8 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2048,6 +2048,7 @@ dist_patch_DATA = \
%D%/packages/patches/python-pydocstyle-add-support-for-pep701.patch \
%D%/packages/patches/python-pyreadstat-link-libiconv.patch \
%D%/packages/patches/python-sip-include-dirs.patch \
+ %D%/packages/patches/python-scikit-build-setuptools-compat.patch \
%D%/packages/patches/python-sgmllib3k-assertions.patch \
%D%/packages/patches/python-sphobjinv-defer-ssl-import.patch \
%D%/packages/patches/python-sphinx-prompt-docutils-0.19.patch \
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.
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 4a3ae8e172..bd26d8540d 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -35470,13 +35470,15 @@ and frame grabber interface.")
(define-public python-scikit-build
(package
(name "python-scikit-build")
- (version "0.17.6")
+ (version "0.18.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "scikit_build" version))
(sha256
- (base32 "17awdvpzj4bn50gk4gmj20r2xcjr5y8lfl2bk582di1pdfim26mm"))))
+ (base32 "1rxqzigfacpbcfhf3c1gdqrnqdnq503bx5vpib19km44l32jl5d4"))
+ (patches
+ (search-patches "python-scikit-build-setuptools-compat.patch"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -35539,24 +35541,19 @@ and frame grabber interface.")
gfortran
git-minimal/pinned ;for tests
ninja/pinned
- python-coverage
python-cython
- python-hatchling
python-hatch-fancy-pypi-readme
python-hatch-vcs
- python-mock
- python-packaging
- python-path
+ python-hatchling
python-pytest
- python-pytest-cov
python-pytest-mock
- python-pytest-virtualenv
python-pytest-xdist
python-requests
- python-setuptools-scm
python-virtualenv))
(propagated-inputs
- (list python-distro python-packaging python-tomli python-wheel))
+ (list python-distro
+ python-packaging
+ python-wheel))
(home-page "https://github.com/scikit-build/scikit-build")
(synopsis "Build system generator for Python C/C++/Fortran/Cython extensions")
(description "Scikit-build is an improved build system generator for