summaryrefslogtreecommitdiff
path: root/gnu/packages/finance.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/finance.scm')
-rw-r--r--gnu/packages/finance.scm130
1 files changed, 100 insertions, 30 deletions
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 206d606933..08b345332a 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -31,12 +31,14 @@
;;; 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>
;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
;;; Copyright © 2023 Attila Lendvai <attila@lendvai.name>
;;; Copyright © 2024 Saku Laesvuori <saku@laesvuori.fi>
+;;; Copyright © 2024 Sharlatan Hellseher <sharlatanus@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -608,7 +610,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.")
(define-public electron-cash
(package
(name "electron-cash")
- (version "4.3.1")
+ (version "4.4.0")
(source
(origin
(method git-fetch)
@@ -617,7 +619,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0slx7hmlw2gpcqg951vwvnyl7j52pfzqyaldphghhfxbfzjs7v64"))))
+ (base32 "1hfkp24m1yipadanjf5wm6clmyllkcbh7fbw8whnrvxa2v7sa4l8"))))
(build-system python-build-system)
(arguments
(list
@@ -684,7 +686,7 @@ blockchain.")
;; the system's dynamically linked library.
(package
(name "monero")
- (version "0.18.3.1")
+ (version "0.18.3.2")
(source
(origin
(method git-fetch)
@@ -702,7 +704,7 @@ blockchain.")
delete-file-recursively
'("external/miniupnp" "external/rapidjson"))))
(sha256
- (base32 "1k6mrgsvmqsfk95w8kjmp9v2fghjmmpj40667zndrw9jx1h85mwx"))))
+ (base32 "0ri3ss5vgsjk5pzmaaw8yi7sg4lasx58d8kz3m6z5vg7p69gdzxv"))))
(build-system cmake-build-system)
(native-inputs
(list doxygen
@@ -789,7 +791,7 @@ the Monero command line client and daemon.")
(define-public monero-gui
(package
(name "monero-gui")
- (version "0.18.3.1")
+ (version "0.18.3.2")
(source
(origin
(method git-fetch)
@@ -805,7 +807,7 @@ the Monero command line client and daemon.")
;; See the 'extract-monero-sources' phase.
(delete-file-recursively "monero")))
(sha256
- (base32 "1fjx8gdzc1pmfsi14r09gfmkglvh560pnxk70p0k82a4gbs1vyz2"))))
+ (base32 "0jic43b7jzc1i7x2mqqpbbb2992687nm12kk642yr10dm4maklzb"))))
(build-system qt-build-system)
(native-inputs
`(,@(package-native-inputs monero)
@@ -1750,7 +1752,7 @@ following three utilities are included with the library:
(define-public bitcoin-unlimited
(package
(name "bitcoin-unlimited")
- (version "2.0.0.0")
+ (version "2.0.0.1")
(source
(origin
(method git-fetch)
@@ -1759,7 +1761,7 @@ following three utilities are included with the library:
(commit (string-append "BCHunlimited" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0s4iyjfhjx21xa3z7433m4skfr115565k0ckza87ha2d4nl8kz5h"))))
+ (base32 "1kkmg0gp86qz3ya8y5a00yic1mals138b9fv2cjlm7683sfjjljx"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf
@@ -1969,35 +1971,54 @@ that allows you to run services and through them access the Bitcoin Cash network
(version "2.3.6")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "beancount" version))
+ (method git-fetch) ; no test data files in PyPI archive
+ (uri (git-reference
+ (url "https://github.com/beancount/beancount")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32 "0nj7sdh7wxc0hv8wxwqhw9v1zgx1sn4w92368ci2wzdmssz967w0"))
- (patches (search-patches "beancount-disable-googleapis-fonts.patch"))))
- (build-system python-build-system)
+ (base32 "1slxsjw29cyr2kbirdpijhpqspk55k38rpmk3zc02pr1wll62qsv"))
+ (patches (search-patches "beancount-disable-googleapis-fonts.patch"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ ;; Remove broken experiments.
+ (delete-file-recursively "experiments")
+ ;; Remove bundled packages.
+ (delete-file-recursively "third_party")))))
+ (build-system pyproject-build-system)
(arguments
- `(#:tests? #f ; Says test is missing, not sure why
- #:phases
- (modify-phases %standard-phases
- ;; Not importing the googleapis package for now
- (add-after 'unpack 'ignore-googleapis
- (lambda _
- (substitute* "setup.py"
- (("'google-api-python-client',") ""))
- #t))
- ;; No module named 'google_auth_oauthlib'
- (delete 'sanity-check))))
- (inputs
+ (list
+ #:test-flags
+ #~(list "-k" (string-append
+ ;; ModuleNotFoundError: No module named 'pytest'
+ "not test_parse_stdin"
+ ;; AssertionError: 5 not greater than 20
+ " and not test_setup"))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'relax-requirements
+ (lambda _
+ (substitute* "setup.py"
+ ;; Use compatible fork, and do not fail during sanity check.
+ (("\"pdfminer2\",") ""))))
+ (add-before 'check 'build-extensions
+ (lambda _
+ (invoke "python" "setup.py" "build_ext" "--inplace"))))))
+ (propagated-inputs
(list python-beautifulsoup4
python-bottle
python-chardet
python-dateutil
+ python-google-api-client
+ python-google-auth-oauthlib
python-lxml
python-magic
+ python-oauth2client
python-ply
python-requests))
(native-inputs
- (list python-pytest))
+ (list gnupg python-pdfminer-six python-pytest))
(home-page "https://beancount.github.io/")
(synopsis "Command-line double-entry accounting tool")
(description
@@ -2006,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)
@@ -2359,11 +2429,11 @@ pool.")
(define-public opentaxsolver
;; The OTS version is formatted like tax-year_version. So, at time of
- ;; writing, the version is 2022_20.00. Each part of this is used in
+ ;; writing, the version is 2023_21.03. Each part of this is used in
;; different places in the source uri, so it's convenient to have them
;; separately like this.
- (let ((tax-year "2022")
- (ots-version "20.00"))
+ (let ((tax-year "2023")
+ (ots-version "21.03"))
(package
(name "opentaxsolver")
(version (string-append tax-year "_" ots-version))
@@ -2375,7 +2445,7 @@ pool.")
"_linux/OpenTaxSolver" version "_linux64.tgz"))
(sha256
(base32
- "06k0a72bmwdmr71dvrp8b4vl8vilnggsh92hrp7wjdgcjj9m074w"))
+ "1i543bvclnyiwnyjlskhr2bxlsigggvwdhg2519rf12lsghgfszq"))
(patches (search-patches "opentaxsolver-file-browser-fix.patch"))))
(build-system glib-or-gtk-build-system)
(arguments