From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:32894) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hlffj-0005cQ-QE for guix-patches@gnu.org; Thu, 11 Jul 2019 16:28:09 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hlfff-0005zy-Sk for guix-patches@gnu.org; Thu, 11 Jul 2019 16:28:05 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:58167) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hlffe-0005ys-AD for guix-patches@gnu.org; Thu, 11 Jul 2019 16:28:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hlffe-0006yD-0S for guix-patches@gnu.org; Thu, 11 Jul 2019 16:28:02 -0400 Subject: [bug#36605] [PATCH 1/2] gnu: Add gunicorn and gunicorn-python2. Resent-Message-ID: From: Hartmut Goebel Date: Thu, 11 Jul 2019 22:26:16 +0200 Message-Id: <20190711202644.32014-8-h.goebel@crazy-compilers.com> In-Reply-To: <20190711202644.32014-1-h.goebel@crazy-compilers.com> References: <58494E16.9010909@crazy-compilers.com> <20190711202644.32014-1-h.goebel@crazy-compilers.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 36605@debbugs.gnu.org * 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 ;;; Copyright © 2016 Clément Lassieur ;;; Copyright © 2016 ng0 +;;; Copyright © 2016 Hartmut Goebel ;;; ;;; 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