1{
2 lib,
3 buildPythonPackage,
4 decorator,
5 deprecated,
6 fetchPypi,
7 icecream,
8 invoke,
9 mock,
10 paramiko,
11 pytest-relaxed,
12 pytestCheckHook,
13 pythonOlder,
14 setuptools,
15}:
16
17buildPythonPackage rec {
18 pname = "fabric";
19 version = "3.2.2";
20 pyproject = true;
21
22 disabled = pythonOlder "3.10";
23
24 src = fetchPypi {
25 inherit pname version;
26 hash = "sha256-h4PKQuOwB28IsmkBqsa52bHxnEEAdOesz6uQLBhP9KM=";
27 };
28
29 build-system = [ setuptools ];
30
31 dependencies = [
32 invoke
33 paramiko
34 deprecated
35 decorator
36 ];
37
38 nativeCheckInputs = [
39 icecream
40 mock
41 pytest-relaxed
42 pytestCheckHook
43 ];
44
45 pytestFlagsArray = [ "tests/*.py" ];
46
47 pythonImportsCheck = [ "fabric" ];
48
49 disabledTests = [
50 # Tests are out-dated
51 "calls_RemoteShell_run_with_all_kwargs_and_returns_its_result"
52 "executes_arguments_on_contents_run_via_threading"
53 "expect"
54 "from_v1"
55 "honors_config_system_for_allowed_kwargs"
56 "llows_disabling_remote_mode_preservation"
57 "load"
58 "preserves_remote_mode_by_default"
59 "proxy_jump"
60 "raises_TypeError_for_disallowed_kwargs"
61 ];
62
63 meta = {
64 description = "Pythonic remote execution";
65 homepage = "https://www.fabfile.org/";
66 changelog = "https://www.fabfile.org/changelog.html";
67 license = lib.licenses.bsd2;
68 maintainers = [ ];
69 mainProgram = "fab";
70 };
71}