Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 lib, 3 stdenv, 4 fetchPypi, 5 buildPythonPackage, 6 importlib-metadata, 7 isPy3k, 8 mock, 9 pytestCheckHook, 10 cloudpickle, 11 pyinotify, 12 macfsevents, 13 toml, 14 doit-py, 15 pyflakes, 16 configclass, 17 mergedict, 18}: 19 20let 21 doit = buildPythonPackage rec { 22 pname = "doit"; 23 version = "0.36.0"; 24 format = "setuptools"; 25 26 disabled = !isPy3k; 27 28 src = fetchPypi { 29 inherit pname version; 30 hash = "sha256-cdB8zJUUyyL+WdmJmVd2ZeqrV+FvZE0EM2rgtLriNLw="; 31 }; 32 33 propagatedBuildInputs = [ 34 cloudpickle 35 importlib-metadata 36 toml 37 ] ++ lib.optional stdenv.isLinux pyinotify ++ lib.optional stdenv.isDarwin macfsevents; 38 39 nativeCheckInputs = [ 40 configclass 41 doit-py 42 mergedict 43 mock 44 pyflakes 45 pytestCheckHook 46 ]; 47 48 # escape infinite recursion with doit-py 49 doCheck = false; 50 51 passthru.tests = { 52 # hangs on darwin 53 check = doit.overridePythonAttrs (_: { 54 doCheck = !stdenv.isDarwin; 55 }); 56 }; 57 58 pythonImportsCheck = [ "doit" ]; 59 60 meta = with lib; { 61 homepage = "https://pydoit.org/"; 62 description = "Task management & automation tool"; 63 mainProgram = "doit"; 64 license = licenses.mit; 65 longDescription = '' 66 doit is a modern open-source build-tool written in python 67 designed to be simple to use and flexible to deal with complex 68 work-flows. It is specially suitable for building and managing 69 custom work-flows where there is no out-of-the-box solution 70 available. 71 ''; 72 maintainers = with maintainers; [ pSub ]; 73 }; 74 }; 75in 76doit