1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5
6 # build-system
7 setuptools,
8
9 # native dependencies
10 taskwarrior2,
11 distutils,
12
13 # dependencies
14 kitchen,
15 python-dateutil,
16 pytz,
17
18 # tests
19 pytest7CheckHook,
20}:
21
22buildPythonPackage rec {
23 pname = "taskw";
24 version = "2.0.0";
25 pyproject = true;
26
27 src = fetchPypi {
28 inherit pname version;
29 hash = "sha256-EQm9+b3nqbMqUAejAsh4MD/2UYi2QiWsdKMomkxUi90=";
30 };
31
32 patches = [
33 ./use-template-for-taskwarrior-install-path.patch
34 # Remove when https://github.com/ralphbean/taskw/pull/151 is merged.
35 ./support-relative-path-in-taskrc.patch
36 ];
37 postPatch = ''
38 substituteInPlace taskw/warrior.py \
39 --replace '@@taskwarrior@@' '${taskwarrior2}'
40 '';
41
42 build-system = [ setuptools ];
43
44 buildInputs = [
45 taskwarrior2
46 distutils
47 ];
48
49 dependencies = [
50 kitchen
51 python-dateutil
52 pytz
53 ];
54
55 nativeCheckInputs = [ pytest7CheckHook ];
56
57 meta = with lib; {
58 homepage = "https://github.com/ralphbean/taskw";
59 description = "Python bindings for your taskwarrior database";
60 license = licenses.gpl3Plus;
61 maintainers = with maintainers; [ pierron ];
62 };
63}