Subject: [PATCH v3 6/7] gnu: Add python-cheroot.

From: Sharlatan Hellseher <[email-masked]>
Date: Sun, 17 Mar 2024 17:08:13 +0000

From: dan <[email-masked]>

* gnu/packages/python-web.scm (python-cheroot): New variable.

Signed-off-by: Sharlatan Hellseher <[email-masked]>
---
 gnu/packages/python-web.scm | 57 +++++++++++++++++++++++++++++++++++++
 1 file changed, 57 insertions(+)

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index c2bdfc8da8..f14c0a7bde 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -58,6 +58,7 @@
 ;;; Copyright © 2022 msimonin <[email-masked]>
 ;;; Copyright © 2022 Michael Rohleder <[email-masked]>
 ;;; Copyright © 2022 Baptiste Strazzulla <[email-masked]>
+;;; Copyright © 2023 dan <[email-masked]>
 ;;; Copyright © 2023 John Kehayias <[email-masked]>
 ;;; Copyright © 2023 Ivan Vilata-i-Balaguer <[email-masked]>
 ;;; Copyright © 2024 Troy Figiel <[email-masked]>
@@ -1279,6 +1280,62 @@ (define-public python-httplib2
 other HTTP libraries.")
     (license license:expat)))
 
+(define-public python-cheroot
+  (package
+    (name "python-cheroot")
+    (version "10.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "cheroot" version))
+       (sha256
+        (base32
+         "1w0ind0dza9j1py56y23344piqkpyfmcm060qfrnk6gggy3s3i2r"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      #:test-flags
+      #~(list "--cov=cheroot"
+              ;; Tests a flaky in parallel invocation.
+              ;; "--numprocesses=auto"
+              "--doctest-modules"
+              "--showlocals"
+              ;; Disable test requiring networking.
+              "-k" "not test_tls_client_auth")
+      #:phases
+      #~(modify-phases %standard-phases
+          (replace 'check
+            (lambda* (#:key tests? test-flags #:allow-other-keys)
+              (when tests?
+                (with-directory-excursion "/tmp"
+                  (apply invoke "pytest" "-v"
+                         (append test-flags (list #$output))))))))))
+    (propagated-inputs
+     (list python-jaraco-functools
+           python-more-itertools
+           python-six))
+    (native-inputs
+     (list python-cryptography
+           python-jaraco-text
+           python-portend
+           python-pyopenssl
+           python-pypytools
+           python-pytest
+           python-pytest-cov
+           python-pytest-mock
+           python-pytest-xdist
+           python-requests
+           python-requests-toolbelt
+           python-requests-unixsocket
+           python-setuptools-scm
+           python-setuptools-scm-git-archive
+           python-trustme))
+    (home-page "https://cheroot.cherrypy.dev")
+    (synopsis "Highly-optimized, pure-python HTTP server")
+    (description
+     "Cheroot is a high-performance, pure-Python HTTP server.")
+    (license license:bsd-3)))
+
 (define-public httpie
   (package
     (name "httpie")
-- 
2.41.0