Subject: [bug#77400] [PATCH 16/26] gnu: python-sip: Update to 6.10.0.

From: Nicolas Graves <[email-masked]>
Date: Mon, 31 Mar 2025 08:18:44 +0200

* gnu/packages/qt.scm (python-sip): Update to 6.10.0.
[source]: Add snippet to relax python-setuptools requirement.
[native-inputs]: Remove python-wrapper. Add python-wheel. Sort inputs.
[propagated-inputs]: Remove python-tomli, python-wheel. Sort inputs.

* gnu/packages/backup.scm (vorta)[native-inputs]: Add
python-setuptools, python-wheel.

* gnu/packages/python-xyz.scm (python-echo)[native-inputs]: Add
python-setuptools, python-wheel.

* gnu/packages/patches/python-sip-include-dirs.patch: Refresh patch.
---
 gnu/packages/backup.scm                         |  4 +++-
 .../patches/python-sip-include-dirs.patch       | 17 ++++++++---------
 gnu/packages/python-xyz.scm                     |  2 ++
 gnu/packages/qt.scm                             | 16 +++++++++-------
 4 files changed, 22 insertions(+), 17 deletions(-)

diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index 13c5590f55..cf06f7c1e6 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -1443,7 +1443,9 @@ (define-public vorta
            python-pytest-mock
            python-pytest-qt
            python-pytest-runner
-           python-setuptools-git))
+           python-setuptools
+           python-setuptools-git
+           python-wheel))
     (inputs
      (list borg
            python-appdirs
diff --git a/gnu/packages/patches/python-sip-include-dirs.patch b/gnu/packages/patches/python-sip-include-dirs.patch
index f2ef8fc1b2..e5626030b6 100644
--- a/gnu/packages/patches/python-sip-include-dirs.patch
+++ b/gnu/packages/patches/python-sip-include-dirs.patch
@@ -5,16 +5,15 @@ It seems that we cannot easily change the destination folder of these
 files though, so this variable must be set on a per-package basis (and
 non through search-path).
 
---- sip/sipbuild/builder.py	2023-03-22 09:06:37.588792878 +0100
-+++ sip/sipbuild/builder.py	2023-03-22 09:10:35.830181134 +0100
-@@ -254,6 +254,10 @@
+--- sip/sipbuild/builder.py
++++ sip/sipbuild/builder.py
+@@ -227,5 +227,9 @@
                      os.path.join(project.target_dir,
                              project.get_bindings_dir()))
  
-+            # Add extra bindings from environment for GNU Guix.
-+            if 'SIP_INCLUDE_DIRS' in os.environ:
-+                sip_include_dirs.extend(os.environ['SIP_INCLUDE_DIRS'].split(os.pathsep))
++        # Add extra bindings from environment for GNU Guix
++        if 'SIP_INCLUDE_DIRS' in os.environ:
++            sip_include_dirs.extend(os.environ['SIP_INCLUDE_DIRS'].split(os.pathsep))
 +
-             # Generate the sip.h file for the shared sip module.
-             copy_sip_h(abi_major_version, project.build_dir,
-                     project.sip_module, version_info=project.version_info)
+         # Generate the code for each set of bindings.
+         api_files = []
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 2487ef88a9..e57c834ddb 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -3001,7 +3001,9 @@ (define-public python-echo
     (native-inputs
      (list python-pytest
            python-pytest-cov
+           python-setuptools
            python-setuptools-scm
+           python-wheel
            xorg-server-for-tests))
     (home-page "https://github.com/glue-viz/echo")
     (synopsis "Callback Properties in Python")
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 13893d2951..5a69c4baf7 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -4028,7 +4028,7 @@ (define-public pyotherside-for-qt5
 (define-public python-sip
   (package
     (name "python-sip")
-    (version "6.8.6")
+    (version "6.10.0")
     (source
      (origin
        (method url-fetch)
@@ -4038,18 +4038,20 @@ (define-public python-sip
                                  "/sip-" version ".tar.gz")))
        (sha256
         (base32
-         "0ykxq0607f2sdwbl5cxbp0y8pl14bsgzc9nhifpxbibfivj5kjbz"))
+         "176jylhzs2ci2r9f3l75k9dpwhp1dn0qv2cy9phdp62cgmlia1gs"))
+       (modules '((guix build utils)))
+       (snippet
+        ;; Relax setuptools dependency
+        #~(substitute* "pyproject.toml"
+            (("\"setuptools>=.*\",") "\"setuptools\",")))
        (patches (search-patches "python-sip-include-dirs.patch"))))
     (build-system pyproject-build-system)
     (arguments
      (list #:tests? #f))        ; No test system found.
     (native-inputs
-     (list python-wrapper python-setuptools python-setuptools-scm-next))
+     (list python-setuptools python-setuptools-scm-next python-wheel))
     (propagated-inputs
-     (list python-tomli
-           python-packaging
-           python-setuptools
-           python-wheel))
+     (list python-packaging python-setuptools))
     (home-page "https://www.riverbankcomputing.com/software/sip/intro")
     (synopsis "Python binding creator for C and C++ libraries")
     (description
-- 
2.49.0