summaryrefslogtreecommitdiff
path: root/gnu/packages/finance.scm
diff options
context:
space:
mode:
authordan <i@dan.games>2023-02-03 00:58:16 +0800
committerSharlatan Hellseher <sharlatanus@gmail.com>2024-03-19 09:45:11 +0000
commit1db82acdfc7e518b09603e7e64ddfc4e87262497 (patch)
treecb958528ff98e29db7fabaf5ada022e4feee65d2 /gnu/packages/finance.scm
parent18af584bb4b37fcb538e7a3b1dc993f3da8de391 (diff)
downloadguix-patches-1db82acdfc7e518b09603e7e64ddfc4e87262497.tar
guix-patches-1db82acdfc7e518b09603e7e64ddfc4e87262497.tar.gz
gnu: Add fava.
* gnu/packages/finance.scm (fava): New variable. Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Diffstat (limited to 'gnu/packages/finance.scm')
-rw-r--r--gnu/packages/finance.scm50
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)