Message ID | 1473627035-12350-1-git-send-email-h.goebel@crazy-compilers.com |
---|---|
State | New |
Headers | show |
Am 11.09.2016 um 22:50 schrieb Hartmut Goebel:
> * gnu/packages/web.scm (python-gunicorn, python2-gunicorn): New
Since this is a wsgi/http *server* maybe the package should be named
just "gunicorn"? Opinions, please.
On Sun, Sep 11, 2016 at 10:50:35PM +0200, Hartmut Goebel wrote: > * gnu/packages/web.scm (python-gunicorn, python2-gunicorn): New > variables. Thanks for this! Regarding the naming question, I think it's fine to call it 'gunicorn'. Prefixing with 'python-' is more appropriate for libraries and other "helper" packages, whereas user facing or standalone applications can use the plain upstream name, in my opinion. See the manual, section 7.6.5 Python Modules, for a little bit of guidance. > + (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 I think we should either use pytest-cov or remove this commented line. What do you think? > +(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. Can you elaborate on this? Does python2-gunicorn still work? If so, okay.
Am 13.09.2016 um 17:51 schrieb Leo Famulari: > Thanks for this! Regarding the naming question, I think it's fine to > call it 'gunicorn'. Prefixing with 'python-' is more appropriate for > libraries and other "helper" packages, whereas user facing or > standalone applications can use the plain upstream name, in my opinion. Fine. I'll update (which may take until Thursday) the patch. >> + ;("python-pytest-cov" ,python-pytest-cov) ; optional > I think we should either use pytest-cov or remove this commented line. > What do you think? I added this line for documentation reasons. But I agree, it's better to remove this line and add a real comment. >> +(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. > Can you elaborate on this? Does python2-gunicorn still work? If so, > okay. Yes. I'll update this comment to make it more clear, too.
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))))))