From 1708d4da13b53557fc95b2e1416288c4672400b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Thu, 19 Jan 2017 18:57:08 +0100 Subject: [PATCH] python27Packages.xmpppy: fix ssl socket api --- .../python-modules/xmpppy/default.nix | 26 +++++++++++++++++++ .../python-modules/xmpppy/ssl.patch | 25 ++++++++++++++++++ pkgs/top-level/python-packages.nix | 21 +-------------- 3 files changed, 52 insertions(+), 20 deletions(-) create mode 100644 pkgs/development/python-modules/xmpppy/default.nix create mode 100644 pkgs/development/python-modules/xmpppy/ssl.patch diff --git a/pkgs/development/python-modules/xmpppy/default.nix b/pkgs/development/python-modules/xmpppy/default.nix new file mode 100644 index 00000000000000..632c01c7446805 --- /dev/null +++ b/pkgs/development/python-modules/xmpppy/default.nix @@ -0,0 +1,26 @@ +{ stdenv, buildPythonPackage, fetchurl, isPy3k }: +buildPythonPackage rec { + name = "xmpp.py-${version}"; + version = "0.5.0rc1"; + + patches = [ ./ssl.patch ]; + + src = fetchurl { + url = "mirror://sourceforge/xmpppy/xmpppy-${version}.tar.gz"; + sha256 = "16hbh8kwc5n4qw2rz1mrs8q17rh1zq9cdl05b1nc404n7idh56si"; + }; + + preInstall = '' + mkdir -p $out/bin $out/lib $out/share $(toPythonPath $out) + export PYTHONPATH=$PYTHONPATH:$(toPythonPath $out) + ''; + + disabled = isPy3k; + + meta = with stdenv.lib; { + description = "XMPP python library"; + homepage = "http://xmpppy.sourceforge.net/"; + license = license.gpl3; + maintainers = [ maintainers.mic92 ]; + }; +} diff --git a/pkgs/development/python-modules/xmpppy/ssl.patch b/pkgs/development/python-modules/xmpppy/ssl.patch new file mode 100644 index 00000000000000..915602dc23e5c6 --- /dev/null +++ b/pkgs/development/python-modules/xmpppy/ssl.patch @@ -0,0 +1,25 @@ +diff -wbBur xmpppy-0.5.0rc1/xmpp/transports.py xmpppy-0.5.0rc1.q/xmpp/transports.py +--- xmpppy-0.5.0rc1/xmpp/transports.py 2009-04-07 12:34:09.000000000 +0400 ++++ xmpppy-0.5.0rc1.q/xmpp/transports.py 2015-05-08 13:06:03.049252065 +0300 +@@ -27,7 +27,7 @@ + Also exception 'error' is defined to allow capture of this module specific exceptions. + """ + +-import socket,select,base64,dispatcher,sys ++import socket,ssl,select,base64,dispatcher,sys + from simplexml import ustr + from client import PlugIn + from protocol import * +@@ -312,9 +312,9 @@ + """ Immidiatedly switch socket to TLS mode. Used internally.""" + """ Here we should switch pending_data to hint mode.""" + tcpsock=self._owner.Connection +- tcpsock._sslObj = socket.ssl(tcpsock._sock, None, None) +- tcpsock._sslIssuer = tcpsock._sslObj.issuer() +- tcpsock._sslServer = tcpsock._sslObj.server() ++ tcpsock._sslObj = ssl.wrap_socket(tcpsock._sock, None, None) ++ tcpsock._sslIssuer = tcpsock._sslObj.getpeercert().get('issuer') ++ tcpsock._sslServer = tcpsock._sslObj.getpeercert().get('server') + tcpsock._recv = tcpsock._sslObj.read + tcpsock._send = tcpsock._sslObj.write + diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 385e079284f123..34510a258291bb 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -30447,26 +30447,7 @@ EOF }; }; - xmpppy = buildPythonPackage rec { - name = "xmpp.py-${version}"; - version = "0.5.0rc1"; - - src = pkgs.fetchurl { - url = "mirror://sourceforge/xmpppy/xmpppy-${version}.tar.gz"; - sha256 = "16hbh8kwc5n4qw2rz1mrs8q17rh1zq9cdl05b1nc404n7idh56si"; - }; - - preInstall = '' - mkdir -p $out/bin $out/lib $out/share $(toPythonPath $out) - export PYTHONPATH=$PYTHONPATH:$(toPythonPath $out) - ''; - - disabled = isPy3k; - - meta = { - description = "XMPP python library"; - }; - }; + xmpppy = callPackage ../development/python-modules/xmpppy {}; xstatic-bootbox = buildPythonPackage rec { name = "XStatic-Bootbox-${version}";