From 6c909de29a98ab205fd4b55fc5582255895c17c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Sun, 13 Jan 2019 15:24:24 +0100 Subject: [PATCH] python3.pkgs.slixmpp: fix build Also hardcode path to gnupg and correctly run tests. --- .../python-modules/slixmpp/default.nix | 22 +++++++++++----- .../slixmpp/hardcode-gnupg-path.patch | 26 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 4 ++- 3 files changed, 44 insertions(+), 8 deletions(-) create mode 100644 pkgs/development/python-modules/slixmpp/hardcode-gnupg-path.patch diff --git a/pkgs/development/python-modules/slixmpp/default.nix b/pkgs/development/python-modules/slixmpp/default.nix index 7d6d786e6d2..ed90291ba8a 100644 --- a/pkgs/development/python-modules/slixmpp/default.nix +++ b/pkgs/development/python-modules/slixmpp/default.nix @@ -1,22 +1,30 @@ -{ lib, buildPythonPackage, fetchPypi, pythonOlder, fetchurl, aiodns, pyasn1, pyasn1-modules, gnupg }: +{ lib, buildPythonPackage, fetchPypi, isPy3k, substituteAll, aiodns, pyasn1, pyasn1-modules, aiohttp, gnupg, nose }: buildPythonPackage rec { pname = "slixmpp"; version = "1.4.1"; - disabled = pythonOlder "3.4"; + disabled = !isPy3k; src = fetchPypi { inherit pname version; sha256 = "020acd4507fd00c38835b78b5f338db60d3df840187623e0d41ab2ca89d7ae57"; }; - patchPhase = '' - substituteInPlace slixmpp/thirdparty/gnupg.py \ - --replace "gpgbinary='gpg'" "gpgbinary='${gnupg}/bin/gpg'" - ''; + patches = [ + (substituteAll { + src = ./hardcode-gnupg-path.patch; + inherit gnupg; + }) + ]; - propagatedBuildInputs = [ aiodns pyasn1 pyasn1-modules gnupg ]; + propagatedBuildInputs = [ aiodns pyasn1 pyasn1-modules aiohttp ]; + + checkInputs = [ nose ]; + + checkPhase = '' + nosetests --where=tests --exclude=live -i slixtest.py + ''; meta = { description = "Elegant Python library for XMPP"; diff --git a/pkgs/development/python-modules/slixmpp/hardcode-gnupg-path.patch b/pkgs/development/python-modules/slixmpp/hardcode-gnupg-path.patch new file mode 100644 index 00000000000..4bb3b7c7349 --- /dev/null +++ b/pkgs/development/python-modules/slixmpp/hardcode-gnupg-path.patch @@ -0,0 +1,26 @@ +diff --git a/slixmpp/plugins/xep_0027/gpg.py b/slixmpp/plugins/xep_0027/gpg.py +index a0b1df4..7cfb3bd 100644 +--- a/slixmpp/plugins/xep_0027/gpg.py ++++ b/slixmpp/plugins/xep_0027/gpg.py +@@ -41,7 +41,7 @@ class XEP_0027(BasePlugin): + dependencies = set() + stanza = stanza + default_config = { +- 'gpg_binary': 'gpg', ++ 'gpg_binary': '@gnupg@/bin/gpg', + 'gpg_home': '', + 'use_agent': True, + 'keyring': None, +diff --git a/slixmpp/thirdparty/gnupg.py b/slixmpp/thirdparty/gnupg.py +index a89289f..46dd9b7 100644 +--- a/slixmpp/thirdparty/gnupg.py ++++ b/slixmpp/thirdparty/gnupg.py +@@ -468,7 +468,7 @@ class GPG(object): + } + + "Encapsulate access to the gpg executable" +- def __init__(self, gpgbinary='gpg', gnupghome=None, verbose=False, ++ def __init__(self, gpgbinary='@gnupg@/bin/gpg', gnupghome=None, verbose=False, + use_agent=False, keyring=None): + """Initialize a GPG process wrapper. Options are: + diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index f46c9467461..749878f4e2e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3151,7 +3151,9 @@ in { sleekxmpp = callPackage ../development/python-modules/sleekxmpp { }; - slixmpp = callPackage ../development/python-modules/slixmpp { }; + slixmpp = callPackage ../development/python-modules/slixmpp { + inherit (pkgs) gnupg; + }; netaddr = callPackage ../development/python-modules/netaddr { };