at 25.11-pre 1.7 kB view raw
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 [ 35 cloudpickle 36 importlib-metadata 37 toml 38 ] 39 ++ lib.optional stdenv.hostPlatform.isLinux pyinotify 40 ++ lib.optional stdenv.hostPlatform.isDarwin macfsevents; 41 42 nativeCheckInputs = [ 43 configclass 44 doit-py 45 mergedict 46 mock 47 pyflakes 48 pytestCheckHook 49 ]; 50 51 # escape infinite recursion with doit-py 52 doCheck = false; 53 54 passthru.tests = { 55 # hangs on darwin 56 check = doit.overridePythonAttrs (_: { 57 doCheck = !stdenv.hostPlatform.isDarwin; 58 }); 59 }; 60 61 pythonImportsCheck = [ "doit" ]; 62 63 meta = with lib; { 64 homepage = "https://pydoit.org/"; 65 description = "Task management & automation tool"; 66 mainProgram = "doit"; 67 license = licenses.mit; 68 longDescription = '' 69 doit is a modern open-source build-tool written in python 70 designed to be simple to use and flexible to deal with complex 71 work-flows. It is specially suitable for building and managing 72 custom work-flows where there is no out-of-the-box solution 73 available. 74 ''; 75 maintainers = with maintainers; [ pSub ]; 76 }; 77 }; 78in 79doit