diff mbox series

[bug#37234,01/21] gnu: Add python-gunicorn.

Message ID 20190830142539.28376-1-mbakke@fastmail.com
State Accepted
Headers show
Series MLflow | expand

Commit Message

Marius Bakke Aug. 30, 2019, 2:25 p.m. UTC
* gnu/packages/check.scm (python-pytest-3.2, python-pytest-cov-2.5,
python-coverage-4.3): New public variables.
* gnu/packages/python-web.scm (python-gunicorn): New public variable.
---
 gnu/packages/check.scm      | 41 ++++++++++++++++++++++++++++++++++++-
 gnu/packages/python-web.scm | 28 ++++++++++++++++++++++++-
 2 files changed, 67 insertions(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 085538b2de..e81cd50b66 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -25,7 +25,7 @@ 
 ;;; Copyright © 2017, 2019 Kei Kebreau <kkebreau@posteo.net>
 ;;; Copyright © 2017 ng0 <ng0@n0.is>
 ;;; Copyright © 2015, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2016, 2017, 2018 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2016, 2017, 2018, 2019 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
 ;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
@@ -776,6 +776,21 @@  and many external plugins.")
                 ("python2-pathlib2" ,python2-pathlib2-bootstrap)
                 ,@(package-propagated-inputs pytest))))))
 
+;; python-gunicorn requires this ancient version for Python 2.6 support.
+(define-public python-pytest-3.2
+  (package
+    (inherit python-pytest)
+    (version "3.2.5")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "pytest" version))
+              (sha256
+               (base32
+                "10cbsyyyzamhvi1gqqyhccsx906xlcwcgddvldalqi1v27vx8nvd"))))
+    (arguments
+     ;; XXX: Tests require similarly ancient versions of many dependencies.
+     `(#:tests? #f))))
+
 (define-public python-pytest-cov
   (package
     (name "python-pytest-cov")
@@ -811,6 +826,18 @@  supports coverage of subprocesses.")
 (define-public python2-pytest-cov
   (package-with-python2 python-pytest-cov))
 
+;; Some packages require this old version.  Remove when no longer needed.
+(define-public python-pytest-cov-2.5
+  (package
+    (inherit python-pytest-cov)
+    (version "2.5.1")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "pytest-cov" version))
+              (sha256
+               (base32
+                "0bbfpwdh9k3636bxc88vz9fa7vf4akchgn513ql1vd0xy4n7bah3"))))))
+
 (define-public python-pytest-runner
   (package
     (name "python-pytest-runner")
@@ -1289,6 +1316,18 @@  executed.")
 (define-public python2-coverage
   (package-with-python2 python-coverage))
 
+;; python-gunicorn requires this version.  Remove once no longer needed.
+(define-public python-coverage-4.3
+  (package
+    (inherit python-coverage)
+    (version "4.3.4")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "coverage" version))
+              (sha256
+               (base32
+                "1prkwz1hkcbx19nsadbcmk4wl27ysx001pa8bykfagd3d87zxbpa"))))))
+
 (define-public python-cov-core
   (package
     (name "python-cov-core")
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 9b88d66118..3ed0c6dd16 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -4,7 +4,7 @@ 
 ;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
 ;;; Copyright © 2016, 2017 Danny Milosavljevic <dannym+a@scratchpost.org>
 ;;; Copyright © 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr>
-;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2016, 2017, 2019 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
 ;;; Copyright © 2016, 2017 Julien Lepiller <julien@lepiller.eu>
@@ -421,6 +421,32 @@  both of which are installed automatically if you install this library.")
 (define-public python2-flask-babel
   (package-with-python2 python-flask-babel))
 
+(define-public python-gunicorn
+  (package
+    (name "python-gunicorn")
+    (version "19.9.0")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "gunicorn" version))
+              (sha256
+               (base32
+                "1wzlf4xmn6qjirh5w81l6i6kqjnab1n1qqkh7zsj1yb6gh4n49ps"))))
+    (build-system python-build-system)
+    (native-inputs
+     `(;; XXX: check requirements_test.txt to see whether these special
+       ;; versions are still needed when updating.
+       ("python-coverage" ,python-coverage-4.3)
+       ("python-pytest" ,python-pytest-3.2)
+       ("python-pytest-cov" ,python-pytest-cov-2.5)))
+    (home-page "https://gunicorn.org/")
+    (synopsis "Python WSGI erver")
+    (description
+     "Gunicorn ('Green Unicorn') is a Python WSGI HTTP Server.  It is 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 resource usage, and fairly speedy.")
+    (license license:expat)))
+
 (define-public python-html5lib
   (package
     (name "python-html5lib")