diff --git a/pkgs/development/python-modules/xmpppy/default.nix b/pkgs/development/python-modules/xmpppy/default.nix new file mode 100644 index 00000000000..632c01c7446 --- /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 00000000000..915602dc23e --- /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 385e079284f..34510a25829 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}";