[bug#36605] gnu: Add python-gunicorn and python2-gunicorn.
diff mbox series

Message ID 20190711202644.32014-6-h.goebel@crazy-compilers.com
State New
Headers show
Series
  • [bug#36605] gnu: Add python-gunicorn and python2-gunicorn.
Related show

Commit Message

Hartmut Goebel July 11, 2019, 8:26 p.m. UTC
* gnu/packages/web.scm (python-gunicorn, python2-gunicorn): New
  variables.
---
 gnu/packages/web.scm | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)

Patch
diff mbox series

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 20c7d12..e639d28 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -3633,3 +3633,51 @@  provides a unix command line interface to a variety of popular www search engine
 and similar services.")
     (home-page "https://surfraw.alioth.debian.org/")
     (license l:public-domain)))
+
+(define-public python-gunicorn
+  (package
+    (name "python-gunicorn")
+    (version "19.6.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "gunicorn" version))
+       (sha256
+        (base32
+         "065n5z91607q4l8wncqkz297cdcb60cz8wnyxy88wk4as4b6jgw1"))))
+    (build-system python-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'remove-requirements
+           ; setup.py reads test-requirements from a file which is
+           ; pinning to other versions then guix provides. This also
+           ; enforces optional packages like pytst-cov. So clean the
+           ; list.
+           (lambda _
+             (substitute* "requirements_test.txt"
+               ((".*") "")))))))
+    (native-inputs
+     `(("python-pytest" ,python-pytest)
+       ;("python-pytest-cov" ,python-pytest-cov) ; optional
+       ("python-setuptools" ,python-setuptools)))
+    (home-page "http://gunicorn.org/")
+    (synopsis "Python WSGI HTTP Server for UNIX")
+    (description "Gunicorn ‘Green Unicorn’ is a Python WSGI HTTP
+Server for UNIX.  It’s a pre-fork worker model ported from Ruby’s
+Unicorn project.  The Gunicorn server is broadly compatible with
+various web frameworks, simply implemented, light on server resources,
+and fairly speedy.")
+  (license license:expat)
+  (properties `((python2-variant . ,(delay python2-gunicorn))))))
+
+(define-public python2-gunicorn
+  (let ((base (package-with-python2
+               (strip-python2-variant python-gunicorn))))
+    ; Note: byte-compiling gunicorn/workers/_gaiohttp.py with Python 2
+    ; fails, but this module will be available for Python 3 only
+    ; anyway.
+    (package
+      (inherit base)
+      (native-inputs `(("python2-mock" ,python2-mock)
+                       ,@(package-native-inputs base))))))