all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [PATCH] gnu: Add python-gunicorn and python2-gunicorn.
@ 2016-09-11 20:50 Hartmut Goebel
  2016-09-12  7:48 ` Hartmut Goebel
  2016-09-13 15:51 ` Leo Famulari
  0 siblings, 2 replies; 4+ messages in thread
From: Hartmut Goebel @ 2016-09-11 20:50 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/web.scm (python-gunicorn, python2-gunicorn): New
  variables.
---
 gnu/packages/web.scm | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)

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))))))
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] gnu: Add python-gunicorn and python2-gunicorn.
  2016-09-11 20:50 [PATCH] gnu: Add python-gunicorn and python2-gunicorn Hartmut Goebel
@ 2016-09-12  7:48 ` Hartmut Goebel
  2016-09-13 15:51 ` Leo Famulari
  1 sibling, 0 replies; 4+ messages in thread
From: Hartmut Goebel @ 2016-09-12  7:48 UTC (permalink / raw)
  To: guix-devel


[-- Attachment #1.1: Type: text/plain, Size: 686 bytes --]

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.

-- 
Schönen Gruß
Hartmut Goebel
Dipl.-Informatiker (univ), CISSP, CSSLP, ISO 27001 Lead Implementer
Information Security Management, Security Governance, Secure Software
Development

Goebel Consult, Landshut
http://www.goebel-consult.de

Blog:
http://www.goebel-consult.de/blog/vortrag-digitalen-selbstverteidigung-fur-unternehmen

Kolumne:
http://www.cissp-gefluester.de/2011-02-fleisige-datensammler-fur-lukratives-geschaeftsmodell-gesucht



[-- Attachment #1.2: Type: text/html, Size: 1889 bytes --]

[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 2430 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] gnu: Add python-gunicorn and python2-gunicorn.
  2016-09-11 20:50 [PATCH] gnu: Add python-gunicorn and python2-gunicorn Hartmut Goebel
  2016-09-12  7:48 ` Hartmut Goebel
@ 2016-09-13 15:51 ` Leo Famulari
  2016-09-13 19:22   ` Hartmut Goebel
  1 sibling, 1 reply; 4+ messages in thread
From: Leo Famulari @ 2016-09-13 15:51 UTC (permalink / raw)
  To: Hartmut Goebel; +Cc: guix-devel

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.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] gnu: Add python-gunicorn and python2-gunicorn.
  2016-09-13 15:51 ` Leo Famulari
@ 2016-09-13 19:22   ` Hartmut Goebel
  0 siblings, 0 replies; 4+ messages in thread
From: Hartmut Goebel @ 2016-09-13 19:22 UTC (permalink / raw)
  To: Leo Famulari; +Cc: guix-devel

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.

-- 
Regards
Hartmut Goebel

| Hartmut Goebel          | h.goebel@crazy-compilers.com               |
| www.crazy-compilers.com | compilers which you thought are impossible |

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-09-13 19:22 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-09-11 20:50 [PATCH] gnu: Add python-gunicorn and python2-gunicorn Hartmut Goebel
2016-09-12  7:48 ` Hartmut Goebel
2016-09-13 15:51 ` Leo Famulari
2016-09-13 19:22   ` Hartmut Goebel

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.