diff options
author | dan <i@dan.games> | 2023-02-03 00:58:16 +0800 |
---|---|---|
committer | Sharlatan Hellseher <sharlatanus@gmail.com> | 2024-03-19 09:45:11 +0000 |
commit | 1db82acdfc7e518b09603e7e64ddfc4e87262497 (patch) | |
tree | cb958528ff98e29db7fabaf5ada022e4feee65d2 /gnu | |
parent | 18af584bb4b37fcb538e7a3b1dc993f3da8de391 (diff) |
gnu: Add fava.
* gnu/packages/finance.scm (fava): New variable.
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/packages/finance.scm | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index cbc4027ca7..2505118575 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -31,6 +31,7 @@ ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2022 Philip McGrath <philip@philipmcgrath.com> ;;; Copyright © 2022 Collin J. Doering <collin@rekahsoft.ca> +;;; Copyright © 2023 dan <i@dan.games> ;;; Copyright © 2022 Justin Veilleux <terramorpha@cock.li> ;;; Copyright © 2023 Frank Pursel <frank.pursel@gmail.com> ;;; Copyright © 2023 Skylar Hill <stellarskylark@posteo.net> @@ -2026,6 +2027,55 @@ define financial transaction records in a text file, read them in memory, generate a variety of reports from them, and provides a web interface.") (license license:gpl2))) +(define-public fava + (package + (name "fava") + ;; XXX: A newer version requires Flask > 2.2, which is not available in + ;; Guix yet. + (version "1.24.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "fava" version)) + (sha256 + (base32 "1iwha9vx223iiyjqbixpz1lp8q766ikhi7xcap3pscjhldxlym4j")))) + (build-system pyproject-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'relax-requirements + (lambda _ + (substitute* "setup.cfg" + ((">=8,<10") ">8")))) + ;; Tests write to $HOME. + ;; FileNotFoundError: [Errno 2] No such file or directory + (add-before 'check 'set-home + (lambda _ + (setenv "HOME" "/tmp")))))) + (propagated-inputs + (list beancount + python-babel + python-cheroot + python-click + python-flask + python-flask-babel + python-jinja2 + python-markdown2 + python-ply + python-simplejson + python-werkzeug)) + (native-inputs + (list python-pytest + python-chardet + python-dateutil + python-setuptools-scm)) + (home-page "https://beancount.github.io/fava/") + (synopsis "Web interface for the accounting tool Beancount") + (description "Fava is a web interface for the double-entry bookkeeping +software Beancount with a focus on features and usability.") + (license license:expat))) + (define-public emacs-beancount ;; Note that upstream has not made any release since this project moved ;; into its own repository (it was originally part of beancount itself) |