gevent: 1.0.1 -> 1.0.2

(cherry picked from commit 42d9fe8b09)
Signed-off-by: Domen Kožar <domen@dev.si>

Conflicts:
	pkgs/top-level/python-packages.nix
This commit is contained in:
Domen Kožar 2015-05-23 14:30:39 +02:00
parent ec2ca3183d
commit ada9ca773d
2 changed files with 2 additions and 53 deletions

View File

@ -1,49 +0,0 @@
From 485cebc4d9bab2dae51cf29f91fad2f1cf157fec Mon Sep 17 00:00:00 2001
From: Eugene Pankov <john.pankov@gmail.com>
Date: Sun, 21 Sep 2014 12:04:13 +0300
Subject: [PATCH] Work around missing sslwrap in Python 2.7.9 (fixes #477)
---
gevent/_ssl2.py | 28 ++++++++++++++++++++--------
1 file changed, 20 insertions(+), 8 deletions(-)
diff --git a/gevent/ssl.py b/gevent/ssl.py
index 21491b7..85e6a86 100644
--- a/gevent/ssl.py
+++ b/gevent/ssl.py
@@ -80,15 +80,27 @@ def __init__(self, sock, keyfile=None, certfile=None,
self._sslobj = None
else:
# yes, create the SSL object
- if ciphers is None:
- self._sslobj = _ssl.sslwrap(self._sock, server_side,
- keyfile, certfile,
- cert_reqs, ssl_version, ca_certs)
+ if hasattr(_ssl, 'sslwrap'):
+ if ciphers is None:
+ self._sslobj = _ssl.sslwrap(self._sock, server_side,
+ keyfile, certfile,
+ cert_reqs, ssl_version, ca_certs)
+ else:
+ self._sslobj = _ssl.sslwrap(self._sock, server_side,
+ keyfile, certfile,
+ cert_reqs, ssl_version, ca_certs,
+ ciphers)
else:
- self._sslobj = _ssl.sslwrap(self._sock, server_side,
- keyfile, certfile,
- cert_reqs, ssl_version, ca_certs,
- ciphers)
+ self.context = __ssl__.SSLContext(ssl_version)
+ self.context.verify_mode = cert_reqs
+ if ca_certs:
+ self.context.load_verify_locations(ca_certs)
+ if certfile:
+ self.context.load_cert_chain(certfile, keyfile)
+ if ciphers:
+ self.context.set_ciphers(ciphers)
+ self._sslobj = self.context._wrap_socket(self._sock, server_side=server_side, ssl_sock=self)
+
if do_handshake_on_connect:
self.do_handshake()
self.keyfile = keyfile

View File

@ -4258,15 +4258,13 @@ let
};
gevent = buildPythonPackage rec {
name = "gevent-1.0.1";
name = "gevent-1.0.2";
disabled = isPy3k || isPyPy; # see https://github.com/surfly/gevent/issues/248
src = pkgs.fetchurl {
url = "https://pypi.python.org/packages/source/g/gevent/${name}.tar.gz";
sha256 = "0hyzfb0gcx9pm5c2igan8y57hqy2wixrwvdjwsaivxsqs0ay49s6";
sha256 = "0cds7yvwdlqmd590i59vzxaviwxk4js6dkhnmdxb3p1xac7wmq9s";
};
patches = [ ../development/python-modules/gevent_sslwrap.patch ];
buildInputs = with self; [ pkgs.libev ];
propagatedBuildInputs = optionals (!isPyPy) [ self.greenlet ];