~ruther/guix-local

18af584bb4b37fcb538e7a3b1dc993f3da8de391 — dan 3 years ago 044d3f4
gnu: Add python-cheroot.

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

Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
1 files changed, 57 insertions(+), 0 deletions(-)

M gnu/packages/python-web.scm
M gnu/packages/python-web.scm => gnu/packages/python-web.scm +57 -0
@@ 58,6 58,7 @@
;;; Copyright © 2022 msimonin <matthieu.simonin@inria.fr>
;;; Copyright © 2022 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2022 Baptiste Strazzulla <bstrazzull@hotmail.fr>
;;; Copyright © 2023 dan <i@dan.games>
;;; Copyright © 2023 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2023 Ivan Vilata-i-Balaguer <ivan@selidor.net>
;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com>


@@ 1279,6 1280,62 @@ over a different origin than that of the web application.")
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 are 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")