Merge pull request #111964 from fabaff/bump-slackclient

python3Packages.slackclient: 2.5.0 -> 2.9.3, python3Packages.slack-sdk: init at 3.3.0
This commit is contained in:
Florian Klink 2021-02-15 00:24:34 +01:00 committed by GitHub
commit 4a8edd0948
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 160 additions and 67 deletions

View file

@ -1,75 +1,90 @@
{ lib, fetchFromGitHub, python, glibcLocales }: { lib
, ansi
, buildPythonApplication
, colorlog
, daemonize
, deepmerge
, dulwich
, fetchFromGitHub
, flask
, glibcLocales
, hypchat
, irc
, jinja2
, markdown
, mock
, pyasn1
, pyasn1-modules
, pygments
, pygments-markdown-lexer
, pyopenssl
, pytestCheckHook
, requests
, slackclient
, sleekxmpp
, telegram
, webtest
}:
let buildPythonApplication rec {
py = python.override {
packageOverrides = self: super: {
# errbot requires markdown<3, and is not compatible with it either.
markdown = super.markdown.overridePythonAttrs (oldAttrs: rec {
version = "2.6.11";
src = super.fetchPypi {
pname = "Markdown";
inherit version;
sha256 = "108g80ryzykh8bj0i7jfp71510wrcixdi771lf2asyghgyf8cmm8";
};
});
# errbot requires slackclient 1.x, see https://github.com/errbotio/errbot/pull/1367
# latest 1.x release would be 1.3.2, but it requires an older websocket_client than the one in nixpkgs
# so let's just vendor the known-working version until they've migrated to 2.x.
slackclient = super.slackclient.overridePythonAttrs (oldAttrs: rec {
version = "1.2.1";
pname = "slackclient";
src = fetchFromGitHub {
owner = "slackapi";
repo = "python-slackclient";
rev = version;
sha256 = "073fwf6fm2sqdp5ms3vm1v3ljh0pldi69k048404rp6iy3cfwkp0";
};
propagatedBuildInputs = with self; [ websocket_client requests six ];
checkInputs = with self; [ pytest codecov coverage mock pytestcov pytest-mock responses flake8 ];
# test_server.py fails because it needs connection (I think);
checkPhase = ''
py.test --cov-report= --cov=slackclient tests --ignore=tests/test_server.py
'';
});
};
};
in
py.pkgs.buildPythonApplication rec {
pname = "errbot"; pname = "errbot";
version = "6.1.1"; version = "6.1.7";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "errbotio"; owner = "errbotio";
repo = "errbot"; repo = "errbot";
rev = version; rev = version;
sha256 = "1s4dl1za5imwsv6j3y7m47dy91hmqd5n221kkqm9ni4mpzgpffz0"; sha256 = "02h44qd3d91zy657hyqsw3gskgxg31848pw6zpb8dhd1x84z5y77";
}; };
LC_ALL = "en_US.utf8"; LC_ALL = "en_US.utf8";
buildInputs = [ glibcLocales ]; buildInputs = [ glibcLocales ];
propagatedBuildInputs = with py.pkgs; [
webtest requests jinja2 flask dulwich propagatedBuildInputs = [
pyopenssl colorlog markdown ansi pygments ansi
daemonize pygments-markdown-lexer telegram irc slackclient colorlog
sleekxmpp pyasn1 pyasn1-modules hypchat daemonize
deepmerge
dulwich
flask
hypchat
irc
jinja2
markdown
pyasn1
pyasn1-modules
pygments
pygments-markdown-lexer
pyopenssl
requests
slackclient
sleekxmpp
telegram
webtest
]; ];
checkInputs = with py.pkgs; [ mock pytest ]; checkInputs = [
# avoid tests that do network calls mock
checkPhase = '' pytestCheckHook
pytest tests -k 'not backup and not broken_plugin and not plugin_cycle' ];
'';
# Slack backend test has an import issue
pytestFlagsArray = [ "--ignore=tests/backend_tests/slack_test.py" ];
disabledTests = [
"backup"
"broken_plugin"
"plugin_cycle"
];
pythonImportsCheck = [ "errbot" ];
meta = with lib; { meta = with lib; {
description = "Chatbot designed to be simple to extend with plugins written in Python"; description = "Chatbot designed to be simple to extend with plugins written in Python";
homepage = "http://errbot.io/"; homepage = "http://errbot.io/";
maintainers = with maintainers; [ fpletz globin ]; maintainers = with maintainers; [ fpletz globin ];
license = licenses.gpl3; license = licenses.gpl3Plus;
platforms = platforms.linux; platforms = platforms.linux;
# flaky on darwin, "RuntimeError: can't start new thread" # flaky on darwin, "RuntimeError: can't start new thread"
}; };

View file

@ -0,0 +1,74 @@
{ lib
, aiodns
, aiohttp
, boto3
, buildPythonPackage
, codecov
, databases
, fetchFromGitHub
, flake8
, flask-sockets
, isPy3k
, psutil
, pytest-asyncio
, pytest-cov
, pytestCheckHook
, pytestrunner
, sqlalchemy
, websocket_client
, websockets
}:
buildPythonPackage rec {
pname = "slack-sdk";
version = "3.3.0";
disabled = !isPy3k;
src = fetchFromGitHub {
owner = "slackapi";
repo = "python-slack-sdk";
rev = "v${version}";
sha256 = "0nr1avxycvjnvg1n8r09xi4sc5h6i4b64pzfgq14l55dgi5sv1rx";
};
propagatedBuildInputs = [
aiodns
aiohttp
boto3
sqlalchemy
websocket_client
websockets
];
checkInputs = [
codecov
databases
flake8
flask-sockets
psutil
pytest-asyncio
pytest-cov
pytestCheckHook
pytestrunner
];
preCheck = ''
export HOME=$(mktemp -d)
'';
# Exclude tests that requires network features
pytestFlagsArray = [ "--ignore=integration_tests" ];
disabledTests = [
"test_start_raises_an_error_if_rtm_ws_url_is_not_returned"
"test_org_installation"
];
pythonImportsCheck = [ "slack_sdk" ];
meta = with lib; {
description = "Slack Developer Kit for Python";
homepage = "https://slack.dev/python-slack-sdk/";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};
}

View file

@ -1,15 +1,15 @@
{ lib { lib
, buildPythonPackage
, fetchFromGitHub
, aiohttp , aiohttp
, black , buildPythonPackage
, codecov , codecov
, fetchFromGitHub
, flake8 , flake8
, isPy3k , isPy3k
, mock , mock
, psutil
, pytest-cov
, pytest-mock , pytest-mock
, pytestCheckHook , pytestCheckHook
, pytestcov
, pytestrunner , pytestrunner
, requests , requests
, responses , responses
@ -19,15 +19,15 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "python-slackclient"; pname = "python-slackclient";
version = "2.5.0"; version = "2.9.3";
disabled = !isPy3k; disabled = !isPy3k;
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "slackapi"; owner = "slackapi";
repo = pname; repo = "python-slack-sdk";
rev = version; rev = "v${version}";
sha256 = "1ngj1mivbln19546195k400w9yaw69g0w6is7c75rqwyxr8wgzsk"; sha256 = "1rfb7izgddv28ag37gdnv3sd8z2zysrxs7ad8x20x690zshpaq16";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [
@ -38,17 +38,21 @@ buildPythonPackage rec {
]; ];
checkInputs = [ checkInputs = [
black
codecov codecov
flake8 flake8
mock mock
psutil
pytest-cov
pytest-mock pytest-mock
pytestCheckHook pytestCheckHook
pytestcov
pytestrunner pytestrunner
responses responses
]; ];
# Exclude tests that requires network features
pytestFlagsArray = [ "--ignore=integration_tests" ];
disabledTests = [ "test_start_raises_an_error_if_rtm_ws_url_is_not_returned" ];
pythonImportsCheck = [ "slack" ]; pythonImportsCheck = [ "slack" ];
meta = with lib; { meta = with lib; {

View file

@ -21885,9 +21885,7 @@ in
eq10q = callPackage ../applications/audio/eq10q { }; eq10q = callPackage ../applications/audio/eq10q { };
errbot = callPackage ../applications/networking/errbot { errbot = python3Packages.callPackage ../applications/networking/errbot { };
python = python3;
};
espeak-classic = callPackage ../applications/audio/espeak { }; espeak-classic = callPackage ../applications/audio/espeak { };

View file

@ -7256,6 +7256,8 @@ in {
skorch = callPackage ../development/python-modules/skorch { }; skorch = callPackage ../development/python-modules/skorch { };
slack-sdk = callPackage ../development/python-modules/slack-sdk { };
slackclient = callPackage ../development/python-modules/slackclient { }; slackclient = callPackage ../development/python-modules/slackclient { };
sleekxmpp = callPackage ../development/python-modules/sleekxmpp { }; sleekxmpp = callPackage ../development/python-modules/sleekxmpp { };