rekado pushed a commit to branch master
in repository guix.

commit 4c4fdcaf2d9879989af6e5e5587bf397d84111a7
Author: Ricardo Wurmus <[email protected]>
AuthorDate: Tue Jan 14 11:16:37 2025 +0100

    gnu: python-zeep: Update to 4.3.1.
    
    * gnu/packages/patches/python-zeep-Fix-pytest_httpx-test-cases.patch: 
Remove file.
    * gnu/local.mk (dist_patch_DATA): Remove patch.
    * gnu/packages/python-web.scm (python-zeep): Update to 4.3.1.
    [source]: Remove patch.
    [build-system]: Use pyproject-build-system.
    [arguments]: Add phase 'compatibility; replace custom 'check phase with
    'set-HOME phase.
    [propagated-inputs]: Remove python-cached-property.
    [native-inputs]: Remove python-aiohttp, python-aioresponses, and 
python-mock;
    add nss-certs-for-test, python-coverage, python-flake8,
    python-flake8-blind-except, python-flake8-debugger, python-isort,
    python-setuptools, and python-wheel.
    
    Change-Id: I0385e304fcb2eeda508bc7d019ca645cf8a36c64
---
 gnu/local.mk                                       |  3 +-
 .../python-zeep-Fix-pytest_httpx-test-cases.patch  | 73 ----------------------
 gnu/packages/python-web.scm                        | 41 +++++++-----
 3 files changed, 25 insertions(+), 92 deletions(-)

diff --git a/gnu/local.mk b/gnu/local.mk
index 8f5dcaf7fb..f91bf47d66 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -7,7 +7,7 @@
 # Copyright © 2016, 2017, 2018 Kei Kebreau <[email protected]>
 # Copyright © 2016, 2017 Rene Saavedra <[email protected]>
 # Copyright © 2016 Adonay "adfeno" Felipe Nogueira 
<https://libreplanet.org/wiki/User:Adfeno> <[email protected]>
-# Copyright © 2016-2024 Ricardo Wurmus <[email protected]>
+# Copyright © 2016-2025 Ricardo Wurmus <[email protected]>
 # Copyright © 2016 Ben Woodcroft <[email protected]>
 # Copyright © 2016, 2017, 2018, 2019 Alex Vong <[email protected]>
 # Copyright © 2016-2023 Efraim Flashner <[email protected]>
@@ -2126,7 +2126,6 @@ dist_patch_DATA =                                         
\
   %D%/packages/patches/python-versioneer-guix-support.patch    \
   %D%/packages/patches/python-werkzeug-tests.patch             \
   %D%/packages/patches/python-xmp-toolkit-add-missing-error-codes.patch        
\
-  %D%/packages/patches/python-zeep-Fix-pytest_httpx-test-cases.patch   \
   %D%/packages/patches/qemu-7.2.4-build-info-manual.patch      \
   %D%/packages/patches/qemu-build-info-manual.patch            \
   %D%/packages/patches/qemu-disable-aarch64-migration-test.patch       \
diff --git a/gnu/packages/patches/python-zeep-Fix-pytest_httpx-test-cases.patch 
b/gnu/packages/patches/python-zeep-Fix-pytest_httpx-test-cases.patch
deleted file mode 100644
index 7f022b4e46..0000000000
--- a/gnu/packages/patches/python-zeep-Fix-pytest_httpx-test-cases.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-From 2907848185adcb4e6d8c093db6c617c64cb8c8bf Mon Sep 17 00:00:00 2001
-From: Georg Sauthoff <[email protected]>
-Date: Sat, 5 Feb 2022 14:42:10 +0100
-Subject: [PATCH] Use current pytest_httpx add_response keyword
-
-The new text keyword was introduced in pytest_httpx 0.14, deprecated
-in 0.14 and 0.17 and removed in 0.18.
-
-Thus, an appropriate constraint to that dependency is added.
-
-FWIW, this fixes the test cases on the upcoming Fedora 36 release.
-
-See also:
-- 
https://github.com/Colin-b/pytest_httpx/blob/develop/CHANGELOG.md#0180---2022-01-17
-- 
https://github.com/Colin-b/pytest_httpx/blob/develop/CHANGELOG.md#0140---2021-10-22
----
- setup.py                      | 2 +-
- tests/test_async_transport.py | 8 ++++----
- 2 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/setup.py b/setup.py
-index 4cf9073b..58a5c24f 100755
---- a/setup.py
-+++ b/setup.py
-@@ -29,7 +29,7 @@
-     "freezegun==0.3.15",
-     "pretend==1.0.9",
-     "pytest-cov==2.8.1",
--    "pytest-httpx",
-+    "pytest-httpx>=0.14",
-     "pytest-asyncio",
-     "pytest==6.2.5",
-     "requests_mock>=0.7.0",
-diff --git a/tests/test_async_transport.py b/tests/test_async_transport.py
-index f5e8d1b0..ee215265 100644
---- a/tests/test_async_transport.py
-+++ b/tests/test_async_transport.py
-@@ -19,7 +19,7 @@ def test_load(httpx_mock):
-     cache = stub(get=lambda url: None, add=lambda url, content: None)
-     transport = AsyncTransport(cache=cache)
- 
--    httpx_mock.add_response(url="http://tests.python-zeep.org/test.xml";, 
data="x")
-+    httpx_mock.add_response(url="http://tests.python-zeep.org/test.xml";, 
text="x")
-     result = transport.load("http://tests.python-zeep.org/test.xml";)
-     assert result == b"x"
- 
-@@ -30,7 +30,7 @@ def test_load_cache(httpx_mock):
-     cache = InMemoryCache()
-     transport = AsyncTransport(cache=cache)
- 
--    httpx_mock.add_response(url="http://tests.python-zeep.org/test.xml";, 
data="x")
-+    httpx_mock.add_response(url="http://tests.python-zeep.org/test.xml";, 
text="x")
-     result = transport.load("http://tests.python-zeep.org/test.xml";)
-     assert result == b"x"
- 
-@@ -45,7 +45,7 @@ async def test_post(httpx_mock: HTTPXMock):
- 
-     envelope = etree.Element("Envelope")
- 
--    httpx_mock.add_response(url="http://tests.python-zeep.org/test.xml";, 
data="x")
-+    httpx_mock.add_response(url="http://tests.python-zeep.org/test.xml";, 
text="x")
-     result = await transport.post_xml(
-         "http://tests.python-zeep.org/test.xml";, envelope=envelope, headers={}
-     )
-@@ -67,7 +67,7 @@ async def test_http_error(httpx_mock: HTTPXMock):
-     transport = AsyncTransport()
- 
-     httpx_mock.add_response(
--        url="http://tests.python-zeep.org/test.xml";, data="x", status_code=500
-+        url="http://tests.python-zeep.org/test.xml";, text="x", status_code=500
-     )
-     with pytest.raises(exceptions.TransportError) as exc:
-         transport.load("http://tests.python-zeep.org/test.xml";)
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 7231307545..4721e2bcaa 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -9658,27 +9658,29 @@ resources using Web Application Description Language 
(WADL) files as guides.")
 (define-public python-zeep
   (package
     (name "python-zeep")
-    (version "4.1.0")
+    (version "4.3.1")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "zeep" version))
-       (patches
-        (search-patches "python-zeep-Fix-pytest_httpx-test-cases.patch"))
        (sha256
-        (base32 "1ranr4hkjd2kbbhxa3is1qlgkankj3sml5gla6bqs0kbvpmg4rsq"))))
-    (build-system python-build-system)
+        (base32 "0vm0asfak0pxfa9i753imcy72hk8gkxbj6pmw185b7dhw7lqalzl"))))
+    (build-system pyproject-build-system)
     (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (replace 'check
-           (lambda* (#:key tests? #:allow-other-keys)
-             (when tests?
-               (setenv "HOME" (getcwd)) ; one test requires write access
-               (invoke "pytest" "-vv")))))))
+     (list
+      #:phases
+      '(modify-phases %standard-phases
+         (add-after 'unpack 'compatibility
+           (lambda _
+             ;; httpx removed the "proxies" keyword.  It's now either "mounts"
+             ;; or "proxy".  See https://github.com/encode/httpx/pull/2879.
+             (substitute* "src/zeep/transports.py"
+               (("proxies=") "proxy="))))
+         ;; One test requires write access
+         (add-before 'check 'set-HOME
+           (lambda _ (setenv "HOME" (getcwd)))))))
     (propagated-inputs
      (list python-attrs
-           python-cached-property
            python-isodate
            python-lxml
            python-platformdirs
@@ -9687,16 +9689,21 @@ resources using Web Application Description Language 
(WADL) files as guides.")
            python-requests-file
            python-requests-toolbelt))
     (native-inputs
-     (list python-aiohttp
-           python-aioresponses
+     (list nss-certs-for-test
+           python-coverage
+           python-flake8
+           python-flake8-blind-except
+           python-flake8-debugger
            python-freezegun
-           python-mock
+           python-isort
            python-pretend
            python-pytest
            python-pytest-asyncio
            python-pytest-cov
            python-pytest-httpx
-           python-requests-mock))
+           python-requests-mock
+           python-setuptools
+           python-wheel))
     (home-page "https://docs.python-zeep.org/en/stable/";)
     (synopsis "Python SOAP client based on lxml / requests")
     (description "Zeep is a Python SOAP client.  Highlights:

Reply via email to