1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 mock,
6 psutil,
7 pyopenssl,
8 pysendfile,
9 pythonOlder,
10 setuptools,
11}:
12
13buildPythonPackage rec {
14 pname = "pyftpdlib";
15 version = "1.5.9";
16 pyproject = true;
17
18 disabled = pythonOlder "3.7";
19
20 src = fetchPypi {
21 inherit pname version;
22 hash = "sha256-Mj1MQvFAau203xj69oD2TzLAgP9m9sJgkLpZL1v8Sg8=";
23 };
24
25 build-system = [ setuptools ];
26
27 dependencies = [ pysendfile ];
28
29 passthru.optional-dependencies = {
30 ssl = [ pyopenssl ];
31 };
32
33 nativeCheckInputs = [
34 mock
35 psutil
36 ];
37
38 # Impure filesystem-related tests cause timeouts
39 # on Hydra: https://hydra.nixos.org/build/84374861
40 doCheck = false;
41
42 pythonImportsCheck = [ "pyftpdlib" ];
43
44 meta = with lib; {
45 description = "Asynchronous FTP server library";
46 homepage = "https://github.com/giampaolo/pyftpdlib/";
47 changelog = "https://github.com/giampaolo/pyftpdlib/blob/release-${version}/HISTORY.rst";
48 license = licenses.mit;
49 maintainers = with maintainers; [ ];
50 mainProgram = "ftpbench";
51 };
52}