diff --git a/pkgs/applications/networking/errbot/default.nix b/pkgs/applications/networking/errbot/default.nix new file mode 100644 index 000000000000..5b8140bfa51c --- /dev/null +++ b/pkgs/applications/networking/errbot/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchurl, pythonPackages }: + +pythonPackages.buildPythonPackage rec { + name = "errbot-${version}"; + version = "4.2.2"; + + src = fetchurl { + url = "mirror://pypi/e/errbot/${name}.tar.gz"; + sha256 = "1f1nw4m58dvmw0a37gbnihgdxxr3sz0l39653jigq9ysh3nznifv"; + }; + + disabled = !pythonPackages.isPy3k; + + patches = [ + ./fix-dnspython.patch + ]; + + buildInputs = with pythonPackages; [ + pep8 mock pytest pytest_xdist + ]; + + propagatedBuildInputs = with pythonPackages; [ + webtest bottle threadpool rocket-errbot requests2 jinja2 + pyopenssl colorlog Yapsy markdown ansi pygments dns pep8 + daemonize pygments-markdown-lexer telegram irc slackclient + pyside sleekxmpp hypchat + ]; + + meta = with stdenv.lib; { + description = "Chatbot designed to be simple to extend with plugins written in Python"; + homepage = http://errbot.io/; + maintainers = with maintainers; [ fpletz ]; + license = licenses.gpl3; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/networking/errbot/fix-dnspython.patch b/pkgs/applications/networking/errbot/fix-dnspython.patch new file mode 100644 index 000000000000..7e2b037d78de --- /dev/null +++ b/pkgs/applications/networking/errbot/fix-dnspython.patch @@ -0,0 +1,13 @@ +diff --git a/setup.py b/setup.py +index d57d4e8..9d036fc 100755 +--- a/setup.py ++++ b/setup.py +@@ -58,7 +58,7 @@ if PY2: + 'backports.functools_lru_cache', + 'configparser>=3.5.0b2'] # This is a backport from Python 3 + else: +- deps += ['dnspython3', ] # dnspython3 for SRV records ++ deps += ['dnspython', ] # dnspython for SRV records + + if not PY35_OR_GREATER: + deps += ['typing', ] # backward compatibility for 3.3 and 3.4 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a991f32d3cbe..7225a4e65e07 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12617,6 +12617,10 @@ in eq10q = callPackage ../applications/audio/eq10q { }; + errbot = callPackage ../applications/networking/errbot { + pythonPackages = python3Packages; + }; + espeak = callPackage ../applications/audio/espeak { }; espeakedit = callPackage ../applications/audio/espeak/edit.nix { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 10314361eee9..6da48c3db37d 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -28049,4 +28049,263 @@ in modules // { }; }; + threadpool = buildPythonPackage rec { + name = "threadpool-${version}"; + version = "1.3.2"; + + src = pkgs.fetchurl { + url = "mirror://pypi/t/threadpool/${name}.tar.bz2"; + sha256 = "197gzrxn9lbk0q1v079814c6s05cr4rwzyl6c1m6inkyif4yzr6c"; + }; + }; + + rocket-errbot = buildPythonPackage rec { + name = "rocket-errbot-${version}"; + version = "1.2.5"; + + src = pkgs.fetchurl { + url = "mirror://pypi/r/rocket-errbot/${name}.tar.gz"; + sha256 = "181y1wqjvlry5xdzbliajvrxvswzh3myh795jnj1pm92r5grqzda"; + }; + }; + + Yapsy = buildPythonPackage rec { + name = "Yapsy-${version}"; + version = "1.11.223"; + + src = pkgs.fetchurl { + url = "mirror://pypi/y/yapsy/${name}.tar.gz"; + sha256 = "19pjsnqizswnczhlav4lb7zlzs0n73ijrsgksy4374b14jkkkfs5"; + }; + + doCheck = false; + }; + + ansi = buildPythonPackage rec { + name = "ansi-${version}"; + version = "0.1.3"; + + src = pkgs.fetchurl { + url = "mirror://pypi/a/ansi/${name}.tar.gz"; + sha256 = "06y6470bzvlqys3zi2vc68rmk9n05v1ibral14gbfpgfa8fzy7pg"; + }; + }; + + pygments-markdown-lexer = buildPythonPackage rec { + name = "pygments-markdown-lexer-${version}"; + version = "0.1.0.dev39"; + + src = pkgs.fetchurl { + url = "mirror://pypi/p/pygments-markdown-lexer/${name}.zip"; + sha256 = "1pzb5wy23q3fhs0rqzasjnw6hdzwjngpakb73i98cn0b8lk8q4jc"; + }; + + doCheck = false; + + propagatedBuildInputs = with self; [ pygments ]; + }; + + telegram = buildPythonPackage rec { + name = "telegram-${version}"; + version = "0.0.1"; + + src = pkgs.fetchurl { + url = "mirror://pypi/t/telegram/${name}.tar.gz"; + sha256 = "1495l2ml8mg120wfvqhikqkfczhwwaby40vdmsz8v2l69jps01fl"; + }; + }; + + irc = buildPythonPackage rec { + name = "irc-${version}"; + version = "14.2.2"; + + src = pkgs.fetchurl { + url = "mirror://pypi/i/irc/${name}.tar.gz"; + sha256 = "0a6qjl4fjj98wxc8gaf5rxg94v7a0ydjdiw6pcka5fy814xl2i28"; + }; + + doCheck = false; + + buildInputs = with self; [ setuptools_scm ]; + + propagatedBuildInputs = with self; [ + six jaraco_logging jaraco_text jaraco_stream jaraco_stream pytz + jaraco_itertools + ]; + }; + + jaraco_logging = buildPythonPackage rec { + name = "jaraco.logging-${version}"; + version = "1.5"; + + src = pkgs.fetchurl { + url = "mirror://pypi/j/jaraco.logging/${name}.tar.gz"; + sha256 = "1lvw9zphiymiiar47kd0x0dbc9x2jks8w1kirg3ff8nd80k95j05"; + }; + + doCheck = false; + + buildInputs = with self; [ setuptools_scm ]; + + propagatedBuildInputs = with self; [ tempora six ]; + }; + + jaraco_text = buildPythonPackage rec { + name = "jaraco.text-${version}"; + version = "1.7"; + + src = pkgs.fetchurl { + url = "mirror://pypi/j/jaraco.text/${name}.tar.gz"; + sha256 = "07ccc0zc28sb1kyfyviw3n8f581qynrshqvqg1xsp4gkf1m2ibhh"; + }; + + doCheck = false; + + buildInputs = with self; [ setuptools_scm ]; + + propagatedBuildInputs = with self; [ jaraco_functools jaraco_collections ]; + }; + + jaraco_collections = buildPythonPackage rec { + name = "jaraco.collections-${version}"; + version = "1.3.2"; + + src = pkgs.fetchurl { + url = "mirror://pypi/j/jaraco.collections/${name}.tar.gz"; + sha256 = "0mvyn9d4bs5zw9z84wwsbgff6s28vg6h4i8qhyb667fqi7xgr1w5"; + }; + + doCheck = false; + + buildInputs = with self; [ setuptools_scm ]; + + propagatedBuildInputs = with self; [ six jaraco_classes ]; + + # break dependency cycle + patchPhase = '' + sed -i "/'jaraco.text',/d" setup.py + ''; + }; + + jaraco_itertools = buildPythonPackage rec { + name = "jaraco.itertools-${version}"; + version = "1.7.1"; + + src = pkgs.fetchurl { + url = "mirror://pypi/j/jaraco.itertools/${name}.tar.gz"; + sha256 = "0yvxp5nwhy4wc4naq5v152vbnxqcn5k031g089chq2lk5kr7np5z"; + }; + + doCheck = false; + + buildInputs = with self; [ setuptools_scm ]; + + propagatedBuildInputs = with self; [ inflect more-itertools six ]; + }; + + inflect = buildPythonPackage rec { + name = "inflect-${version}"; + version = "0.2.5"; + + src = pkgs.fetchurl { + url = "mirror://pypi/i/inflect/${name}.tar.gz"; + sha256 = "065866j9msrivbr74yrag53ch0lav7xz18qvjkiblkhinbfch510"; + }; + }; + + more-itertools = buildPythonPackage rec { + name = "more-itertools-${version}"; + version = "2.2"; + + src = pkgs.fetchurl { + url = "mirror://pypi/m/more-itertools/${name}.tar.gz"; + sha256 = "1q3wqsg44z01g7i5z6j1wc0nf5c5h8g77xny6fia2gddqw2jxrlk"; + }; + + doCheck = false; + }; + + jaraco_functools = buildPythonPackage rec { + name = "jaraco.functools-${version}"; + version = "1.11"; + + src = pkgs.fetchurl { + url = "mirror://pypi/j/jaraco.functools/${name}.tar.gz"; + sha256 = "08n7vxdbsl0637b1ap2x3rg698d2as0wzvvpx05dzkrdgsgxrx3g"; + }; + + doCheck = false; + + buildInputs = with self; [ setuptools_scm ]; + }; + + jaraco_classes = buildPythonPackage rec { + name = "jaraco.classes-${version}"; + version = "1.4"; + + src = pkgs.fetchurl { + url = "mirror://pypi/j/jaraco.classes/${name}.tar.gz"; + sha256 = "1yn1wa6m5rdhk4grmnycx3i5pzzdlwfx83h944c9g5rqggmg612h"; + }; + + doCheck = false; + + buildInputs = with self; [ setuptools_scm ]; + }; + + jaraco_stream = buildPythonPackage rec { + name = "jaraco.stream-${version}"; + version = "1.1.1"; + + src = pkgs.fetchurl { + url = "mirror://pypi/j/jaraco.stream/${name}.tar.gz"; + sha256 = "0iwg5ljc2z8wwyl2wv7lldwviwd0q4rsccascyqvqqs0l2rcn4gi"; + }; + + doCheck = false; + + buildInputs = with self; [ setuptools_scm ]; + + propagatedBuildInputs = with self; [ six ]; + }; + + slackclient = buildPythonPackage rec { + name = "slackclient-${version}"; + version = "1.0.0"; + + src = pkgs.fetchurl { + url = "mirror://pypi/s/slackclient/${name}.tar.gz"; + sha256 = "063cbzp1fbdipv53gb0hnban1pg80pls0lbld98lhnykzkcb6vf0"; + }; + + propagatedBuildInputs = with self; [ websocket_client requests2 ]; + }; + + tempora = buildPythonPackage rec { + name = "tempora-${version}"; + version = "1.4"; + + src = pkgs.fetchurl { + url = "mirror://pypi/t/tempora/${name}.tar.gz"; + sha256 = "0ysvns22i5hzhl5ln4n86bq10j8xwvd09z8qw1zjr3s0fj3lynza"; + }; + + doCheck = false; + + buildInputs = with self; [ setuptools_scm ]; + + propagatedBuildInputs = with self; [ six ]; + }; + + hypchat = buildPythonPackage rec { + name = "hypchat-${version}"; + version = "0.21"; + + src = pkgs.fetchurl { + url = "mirror://pypi/h/hypchat/${name}.tar.gz"; + sha256 = "1sd8f3gihagaqd848dqy6xw457fa4f9bla1bfyni7fq3h76sjdzg"; + }; + + propagatedBuildInputs = with self; [ requests2 six dateutil ]; + }; }