[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 1/2] gnu: Add gunicorn and gunicorn-python2.
From: |
Hartmut Goebel |
Subject: |
[PATCH 1/2] gnu: Add gunicorn and gunicorn-python2. |
Date: |
Thu, 15 Sep 2016 12:54:52 +0200 |
* 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 <address@hidden>
;;; Copyright © 2016 Clément Lassieur <address@hidden>
;;; Copyright © 2016 ng0 <address@hidden>
+;;; Copyright © 2016 Hartmut Goebel <address@hidden>
;;;
;;; 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