1{ lib, buildPythonPackage, fetchPypi
2, cryptography
3, invoke
4, mock
5, paramiko
6, pytest
7, pytest-relaxed
8}:
9
10buildPythonPackage rec {
11 pname = "fabric";
12 version = "2.6.0";
13
14 src = fetchPypi {
15 inherit pname version;
16 sha256 = "47f184b070272796fd2f9f0436799e18f2ccba4ee8ee587796fca192acd46cd2";
17 };
18
19 # only relevant to python < 3.4
20 postPatch = ''
21 substituteInPlace setup.py \
22 --replace ', "pathlib2"' ' '
23 '';
24
25 propagatedBuildInputs = [ invoke paramiko cryptography ];
26 checkInputs = [ pytest mock pytest-relaxed ];
27
28 # requires pytest_relaxed, which doesnt have official support for pytest>=5
29 # https://github.com/bitprophet/pytest-relaxed/issues/12
30 doCheck = false;
31 checkPhase = ''
32 pytest tests
33 '';
34 pythonImportsCheck = [ "fabric" ];
35
36 meta = with lib; {
37 description = "Pythonic remote execution";
38 homepage = "https://www.fabfile.org/";
39 license = licenses.bsd2;
40 maintainers = [ maintainers.costrouc ];
41 };
42}