1{ lib
2, fetchFromGitHub
3, glibcLocales
4, python39
5}:
6
7let
8 python3 = python39;
9in python3.pkgs.buildPythonApplication rec {
10 pname = "errbot";
11 version = "6.1.7";
12
13 src = fetchFromGitHub {
14 owner = "errbotio";
15 repo = "errbot";
16 rev = version;
17 sha256 = "02h44qd3d91zy657hyqsw3gskgxg31848pw6zpb8dhd1x84z5y77";
18 };
19
20 LC_ALL = "en_US.utf8";
21
22 buildInputs = [ glibcLocales ];
23
24 propagatedBuildInputs = with python3.pkgs; [
25 ansi
26 colorlog
27 daemonize
28 deepmerge
29 dulwich
30 flask
31 hypchat
32 irc
33 jinja2
34 markdown
35 pyasn1
36 pyasn1-modules
37 pygments
38 pygments-markdown-lexer
39 pyopenssl
40 requests
41 slackclient
42 sleekxmpp
43 telegram
44 webtest
45 ];
46
47 nativeCheckInputs = with python3.pkgs; [
48 mock
49 pytestCheckHook
50 ];
51
52 # Slack backend test has an import issue
53 pytestFlagsArray = [ "--ignore=tests/backend_tests/slack_test.py" ];
54
55 disabledTests = [
56 "backup"
57 "broken_plugin"
58 "plugin_cycle"
59 ];
60
61 pythonImportsCheck = [ "errbot" ];
62
63 meta = with lib; {
64 description = "Chatbot designed to be simple to extend with plugins written in Python";
65 homepage = "http://errbot.io/";
66 maintainers = with maintainers; [ globin ];
67 license = licenses.gpl3Plus;
68 platforms = platforms.linux;
69 # flaky on darwin, "RuntimeError: can't start new thread"
70 };
71}