diff options
Diffstat (limited to 'gnu/packages/finance.scm')
-rw-r--r-- | gnu/packages/finance.scm | 130 |
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 |