Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / applications / office / ledger-autosync / default.nix
blob55b89f195e6938014faa353f69490ed0a58a05ca
1 { lib
2 , python3Packages
3 , fetchFromGitHub
4 , ledger
5 , hledger
6 , useLedger ? true
7 , useHledger ? true
8 }:
10 python3Packages.buildPythonApplication rec {
11   pname = "ledger-autosync";
12   version = "1.0.3";
13   format = "pyproject";
15   # no tests included in PyPI tarball
16   src = fetchFromGitHub {
17     owner = "egh";
18     repo = "ledger-autosync";
19     rev = "v${version}";
20     sha256 = "0n3y4qxsv1cyvyap95h3rj4bj1sinyfgsajygm7s8di3j5aabqr2";
21   };
23   nativeBuildInputs = with python3Packages; [
24     poetry-core
25   ];
27   propagatedBuildInputs = with python3Packages; [
28     asn1crypto
29     beautifulsoup4
30     cffi
31     cryptography
32     entrypoints
33     fuzzywuzzy
34     idna
35     jeepney
36     keyring
37     lxml
38     mock
39     nose
40     ofxclient
41     ofxhome
42     ofxparse
43     pbr
44     pycparser
45     secretstorage
46     six
47   ] ++ lib.optional useLedger ledger
48     ++ lib.optional useHledger hledger;
50   # Checks require ledger as a python package,
51   # ledger does not support python3 while ledger-autosync requires it.
52   nativeCheckInputs = with python3Packages; [ ledger hledger nose mock pytestCheckHook ];
54   # Disable some non-passing tests:
55   # https://github.com/egh/ledger-autosync/issues/127
56   disabledTests = [
57     "test_payee_match"
58     "test_args_only"
59   ];
61   meta = with lib; {
62     homepage = "https://github.com/egh/ledger-autosync";
63     description = "OFX/CSV autosync for ledger and hledger";
64     license = licenses.gpl3;
65     maintainers = with maintainers; [ eamsden ];
66   };