~ruther/guix-local

21f15ea4da6289a28c58feb8d5265a9f12576bd1 — Sharlatan Hellseher 7 months ago 0b3a240
gnu: python-scikit-build: Update to 0.18.1.

* gnu/packages/python-xyz.scm (python-scikit-build): Update to 0.18.1.
  [srouce] <patch>: Add patch fixing compatability with newer
  Setuptools, taken from upstream.
  [propagated-inputs]: Remove python-tomli.
  [native-inputs]: Remove python-coverage, python-mock,
  python-packaging, python-path, python-pytest-cov,
  python-pytest-virtualenv, and python-setuptools-scm.

* gnu/packages/patches/python-scikit-build-setuptools-compat.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register new patch.

Change-Id: I132f6558188c32e7e31fd78527ec6805b91a1443
M gnu/local.mk => gnu/local.mk +1 -0
@@ 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	\

A gnu/packages/patches/python-scikit-build-setuptools-compat.patch => gnu/packages/patches/python-scikit-build-setuptools-compat.patch +54 -0
@@ 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.

M gnu/packages/python-xyz.scm => gnu/packages/python-xyz.scm +8 -11
@@ 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