Subject: [bug#63139] [PATCH python 13/20] gnu: python-dulwich: Update to 0.21.3.

From: John Kehayias <[email-masked]>
Date: Fri, 28 Apr 2023 05:51:14 +0000

* gnu/packages/python-xyz.scm (python-dulwich): Update to 0.21.3.
[arguments]{phases}: In 'check' phase skip a test which fails without a
configuration file.
[native-inputs]: Add python-paramiko and python-requests.
---
 gnu/packages/python-xyz.scm | 30 +++++++++++++++++-------------
 1 file changed, 17 insertions(+), 13 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index a3ed048f03..8b61cba8ae 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -19932,7 +19932,7 @@ (define-public python-cheetah
 (define-public python-dulwich
   (package
     (name "python-dulwich")
-    (version "0.20.30")
+    (version "0.21.3")
     (source
       (origin
         (method url-fetch)
@@ -19941,23 +19941,27 @@ (define-public python-dulwich
                    (pypi-uri "dulwich" version)))
         (sha256
           (base32
-           "0hafaff30bmkj30b8pwpwsy3fz5h6c1pn98ihqcvl5zndflr1h22"))))
+           "10yg11kcjc8lbk2hvnyz3hs5m1rlr76wzw2qxjrq7sv7sx9v98vw"))))
     (build-system python-build-system)
     (arguments
-     '(#:phases
-       (modify-phases %standard-phases
-         (add-before 'check 'fix-tests
-           (lambda* (#:key inputs #:allow-other-keys)
-             (substitute* '("dulwich/tests/test_repository.py"
-                            "dulwich/tests/test_porcelain.py"
-                            "dulwich/tests/test_hooks.py")
-               (("/bin/sh") (search-input-file inputs "/bin/sh")))
-             (setenv "TEST_RUNNER" "unittest")
-             (setenv "PYTHONHASHSEED" "random"))))))
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (add-before 'check 'fix-tests
+                 (lambda* (#:key inputs #:allow-other-keys)
+                   (substitute* "dulwich/contrib/test_swift_smoke.py"
+                     (("^class SwiftRepoSmokeTest.*" line)
+                      (string-append "@unittest.skipIf(True, \
+'Needs configuration file')\n" line)))
+                   (substitute* '("dulwich/tests/test_repository.py"
+                                  "dulwich/tests/test_porcelain.py"
+                                  "dulwich/tests/test_hooks.py")
+                     (("/bin/sh") (search-input-file inputs "/bin/sh")))
+                   (setenv "TEST_RUNNER" "unittest")
+                   (setenv "PYTHONHASHSEED" "random"))))))
     (propagated-inputs
      (list python-fastimport python-urllib3))
     (native-inputs
-     (list python-mock python-geventhttpclient python-gpg
+     (list python-mock python-paramiko python-geventhttpclient python-gpg python-requests
            git gnupg))
     (home-page "https://www.dulwich.io/")
     (synopsis "Git implementation in Python")
--
2.39.2