1{
2 lib,
3 buildPythonPackage,
4 decorator,
5 deprecated,
6 fetchFromGitHub,
7 icecream,
8 invoke,
9 mock,
10 paramiko,
11 pytest-relaxed,
12 pytestCheckHook,
13 setuptools,
14}:
15
16buildPythonPackage rec {
17 pname = "fabric";
18 version = "3.2.2";
19 pyproject = true;
20
21 src = fetchFromGitHub {
22 owner = "fabric";
23 repo = "fabric";
24 tag = version;
25 hash = "sha256-7qC2UuI0RP5xlKIYSz1sLyK/nQYegXOou1mlJYFk7M0=";
26 };
27
28 build-system = [ setuptools ];
29
30 dependencies = [
31 invoke
32 paramiko
33 deprecated
34 decorator
35 ];
36
37 nativeCheckInputs = [
38 icecream
39 mock
40 pytest-relaxed
41 pytestCheckHook
42 ];
43
44 enabledTestPaths = [ "tests/*.py" ];
45
46 pythonImportsCheck = [ "fabric" ];
47
48 disabledTests = [
49 # Tests are out-dated
50 "calls_RemoteShell_run_with_all_kwargs_and_returns_its_result"
51 "executes_arguments_on_contents_run_via_threading"
52 "expect"
53 "from_v1"
54 "honors_config_system_for_allowed_kwargs"
55 "llows_disabling_remote_mode_preservation"
56 "load"
57 "preserves_remote_mode_by_default"
58 "proxy_jump"
59 "raises_TypeError_for_disallowed_kwargs"
60 # Assertion failures on mocks
61 # https://github.com/fabric/fabric/issues/2341
62 "client_defaults_to_a_new_SSHClient"
63 "defaults_to_auto_add"
64
65 # Fixture "fake_agent" called directly. Fixtures are not meant to be called directly
66 "no_stdin"
67 "fake_agent"
68 "fake"
69 ];
70
71 meta = {
72 description = "Pythonic remote execution";
73 homepage = "https://www.fabfile.org/";
74 changelog = "https://www.fabfile.org/changelog.html";
75 license = lib.licenses.bsd2;
76 maintainers = [ ];
77 mainProgram = "fab";
78 };
79}