* gnu/packages/web.scm (gunicorn, gunicorn-python2): New variables. --- gnu/packages/web.scm | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+)
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index b9c201d..3841c6b 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2016 Ben Woodcroft <donttrust...@gmail.com> ;;; Copyright © 2016 Clément Lassieur <clem...@lassieur.org> ;;; Copyright © 2016 ng0 <n...@we.make.ritual.n0.is> +;;; Copyright © 2016 Hartmut Goebel <g.goe...@crazy-compilers.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -41,6 +42,7 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system perl) + #:use-module (guix build-system python) #:use-module (guix build-system cmake) #:use-module (guix build-system r) #:use-module (guix build-system trivial) @@ -3633,3 +3635,56 @@ 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 gunicorn + (package + (name "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-setuptools" ,python-setuptools) + ; optional test-requirement pytest-cov used only when running + ; setup.y with `test --cov` + ("python-pytest" ,python-pytest))) + (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 l:expat) + (properties `((python2-variant . ,(delay gunicorn-python2)))))) + +(define-public gunicorn-python2 + (let ((base (package-with-python2 + (strip-python2-variant gunicorn)))) + ; Note: byte-compiling gunicorn/workers/_gaiohttp.py with Python 2 raises + ; a syntax error, since this is a Python-3-only module. This does not + ; matter since that module is not imported in Python 2 anyway. + (package + (inherit base) + (name "gunicorn-python2") + (description (string-append (package-description base) " + +Use this package if your application is implemented in Python 2.")) + (native-inputs `(("python2-mock" ,python2-mock) + ,@(package-native-inputs base)))))) -- 2.7.4