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