ff1a94e523
The nixpkgs-unstable channel's programs.sqlite was used to identify packages producing exactly one binary, and these automatically added to their package definitions wherever possible.
73 lines
1.5 KiB
Nix
73 lines
1.5 KiB
Nix
{ lib
|
|
, stdenv
|
|
, fetchPypi
|
|
, buildPythonPackage
|
|
, importlib-metadata
|
|
, isPy3k
|
|
, mock
|
|
, pytestCheckHook
|
|
, cloudpickle
|
|
, pyinotify
|
|
, macfsevents
|
|
, toml
|
|
, doit-py
|
|
, pyflakes
|
|
, configclass
|
|
, mergedict
|
|
}:
|
|
|
|
let doit = buildPythonPackage rec {
|
|
pname = "doit";
|
|
version = "0.36.0";
|
|
format = "setuptools";
|
|
|
|
disabled = !isPy3k;
|
|
|
|
src = fetchPypi {
|
|
inherit pname version;
|
|
hash = "sha256-cdB8zJUUyyL+WdmJmVd2ZeqrV+FvZE0EM2rgtLriNLw=";
|
|
};
|
|
|
|
propagatedBuildInputs = [
|
|
cloudpickle
|
|
importlib-metadata
|
|
toml
|
|
] ++ lib.optional stdenv.isLinux pyinotify
|
|
++ lib.optional stdenv.isDarwin macfsevents;
|
|
|
|
nativeCheckInputs = [
|
|
configclass
|
|
doit-py
|
|
mergedict
|
|
mock
|
|
pyflakes
|
|
pytestCheckHook
|
|
];
|
|
|
|
# escape infinite recursion with doit-py
|
|
doCheck = false;
|
|
|
|
passthru.tests = {
|
|
# hangs on darwin
|
|
check = doit.overridePythonAttrs (_: { doCheck = !stdenv.isDarwin; });
|
|
};
|
|
|
|
pythonImportsCheck = [ "doit" ];
|
|
|
|
meta = with lib; {
|
|
homepage = "https://pydoit.org/";
|
|
description = "A task management & automation tool";
|
|
mainProgram = "doit";
|
|
license = licenses.mit;
|
|
longDescription = ''
|
|
doit is a modern open-source build-tool written in python
|
|
designed to be simple to use and flexible to deal with complex
|
|
work-flows. It is specially suitable for building and managing
|
|
custom work-flows where there is no out-of-the-box solution
|
|
available.
|
|
'';
|
|
maintainers = with maintainers; [ pSub ];
|
|
};
|
|
|
|
}; in doit
|