aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/finance.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/finance.scm')
-rw-r--r--gnu/packages/finance.scm175
1 files changed, 159 insertions, 16 deletions
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 4b5ab2924b..849f9aba99 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -9,7 +9,7 @@
;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2018 Adriano Peluso <catonano@gmail.com>
-;;; Copyright © 2018, 2019, 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2018, 2019, 2020, 2021, 2022 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2019, 2020, 2021, 2022 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
@@ -30,6 +30,8 @@
;;; Copyright © 2022 Aleksandr Vityazev <avityazev@posteo.org>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 Philip McGrath <philip@philipmcgrath.com>
+;;; Copyright © 2022 Collin J. Doering <collin@rekahsoft.ca>
+;;; Copyright © 2022 Justin Veilleux <terramorpha@cock.li>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -78,14 +80,16 @@
#:use-module (gnu packages documentation)
#:use-module (gnu packages dns)
#:use-module (gnu packages emacs)
+ #:use-module (gnu packages emacs-xyz)
#:use-module (gnu packages dbm)
#:use-module (gnu packages gettext)
- #:use-module (gnu packages gnome)
- #:use-module (gnu packages golang)
#:use-module (gnu packages glib)
+ #:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg)
+ #:use-module (gnu packages golang)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages groff)
+ #:use-module (gnu packages gsasl)
#:use-module (gnu packages gtk)
#:use-module (gnu packages haskell-check)
#:use-module (gnu packages haskell-web)
@@ -98,6 +102,7 @@
#:use-module (gnu packages linux)
#:use-module (gnu packages man)
#:use-module (gnu packages maths)
+ #:use-module (gnu packages mpi)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages networking)
@@ -278,14 +283,14 @@ Accounting.")
(define-public homebank
(package
(name "homebank")
- (version "5.5.5")
+ (version "5.5.6")
(source (origin
(method url-fetch)
(uri (string-append "http://homebank.free.fr/public/homebank-"
version ".tar.gz"))
(sha256
(base32
- "0rwykjpv4w7bffyvx2j6py17nxw9jcbml7ma4is194i3npn0bkmy"))))
+ "1nn75wzk9h82zsakxng1v94nlg7hq3ssicvskl1m5hg4fa68w3j6"))))
(build-system glib-or-gtk-build-system)
(native-inputs
(list pkg-config intltool))
@@ -462,6 +467,37 @@ in ability, and easy to use.
This package provides the Emacs mode.")
(license license:gpl2+))))
+(define-public emacs-hledger-mode
+ (let ((commit "400bde42a8d2712af80cd7c773c9cdfbb63a515a")
+ (revision "1"))
+ (package
+ (name "emacs-hledger-mode")
+ (version (git-version "20220515" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/narendraj9/hledger-mode")
+ (commit commit)))
+ (sha256
+ (base32
+ "0xmcfpr3rxli1adwypg18npl8hb8ak5rg6a6i26inzzqja6vr897"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ (list emacs-popup
+ emacs-async
+ emacs-htmlize))
+ (arguments
+ '(#:include '("^[^/]+.el$")
+ #:exclude '()))
+ (home-page "https://github.com/narendraj9/hledger-mode")
+ (synopsis "Mode for writing journal entries for hledger")
+ (description
+ "This major mode for Emacs enables writing and managing hledger
+journal files. It generates some useful reports along with some financial
+ratios that can help you keep a check on your financial health for users of
+the plaintext accounting system hledger.")
+ (license license:gpl3))))
+
(define-public geierlein
(package
(name "geierlein")
@@ -590,7 +626,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.")
(define-public electron-cash
(package
(name "electron-cash")
- (version "4.2.10")
+ (version "4.2.11")
(source
(origin
(method git-fetch)
@@ -599,7 +635,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0axpypq9byda61rp3sznrq24b24qxbfwk56j75qp06s1ackg0pcv"))))
+ (base32 "1g0xnb63c52l379zrqkfhxlkg1d2hf2dgjs2swspa0vah845r282"))))
(build-system python-build-system)
(arguments
(list
@@ -671,7 +707,7 @@ blockchain.")
;; the system's dynamically linked library.
(package
(name "monero")
- (version "0.18.0.0")
+ (version "0.18.1.0")
(source
(origin
(method git-fetch)
@@ -689,7 +725,7 @@ blockchain.")
delete-file-recursively
'("external/miniupnp" "external/rapidjson"))))
(sha256
- (base32 "1jq2v2dg50gl3cf9s61jssny5rraclxqj4cc4y0sl00ip8icj08v"))))
+ (base32 "18yj44pki7x8ir6wg02g1h6yxp1hnqb0nrx9x5dvv94rda48cy66"))))
(build-system cmake-build-system)
(native-inputs
(list doxygen
@@ -776,7 +812,7 @@ the Monero command line client and daemon.")
(define-public monero-gui
(package
(name "monero-gui")
- (version "0.18.0.0")
+ (version "0.18.1.0")
(source
(origin
(method git-fetch)
@@ -792,7 +828,7 @@ the Monero command line client and daemon.")
;; See the 'extract-monero-sources' phase.
(delete-file-recursively "monero")))
(sha256
- (base32 "14rbw9803h3g7ld3d24vc3i9n55n09x13frkmd128xx5jw17v5sr"))))
+ (base32 "1z627jy9n6cwc9yv0w58fbhix4qnllk0q42ga75mhlawaz68j0qi"))))
(build-system qt-build-system)
(native-inputs
`(,@(package-native-inputs monero)
@@ -801,6 +837,7 @@ the Monero command line client and daemon.")
(modify-inputs (package-inputs monero)
(append libgcrypt
monero
+ p2pool
qtbase-5
qtdeclarative-5
qtgraphicaleffects
@@ -834,6 +871,17 @@ the Monero command line client and daemon.")
(string-append
"set(CMAKE_C_FLAGS \"${CMAKE_C_FLAGS} -fPIC\")\n"
all)))))
+ (add-after 'unpack 'fix-p2pool-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "src/p2pool/P2PoolManager.cpp"
+ ;; Location for files created by P2Pool
+ (("m_p2poolPath = QApplication::applicationDirPath\\(\\);")
+ "m_p2poolPath = QStandardPaths::writableLocation(QStandardPaths::CacheLocation);")
+ ;; Location of p2pool program
+ (("m_p2pool = m_p2poolPath \\+ \"/p2pool\";")
+ (string-append "m_p2pool = \""
+ (search-input-file inputs "/bin/p2pool")
+ "\";")))))
(replace 'install
(lambda _
(let ((bin (string-append #$output "/bin")))
@@ -1236,13 +1284,13 @@ Luhn and family of ISO/IEC 7064 check digit algorithms.")
(define-public python-duniterpy
(package
(name "python-duniterpy")
- (version "1.0.0")
+ (version "1.1.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "duniterpy" version))
(sha256
- (base32 "13kp2ph7fb1cdkx1y6j2h8q33fj2akc104l77ng52cy4v8jic9nz"))))
+ (base32 "18i5bqz58vjp740pxb4wb4ixg1g2d73cwi0d8gp85fmj5p8f2gx7"))))
(build-system python-build-system)
(arguments
;; FIXME: Tests fail with: "TypeError: block_uid() missing 1 required
@@ -1255,13 +1303,11 @@ Luhn and family of ISO/IEC 7064 check digit algorithms.")
(("mnemonic>=0\\.19,<0.20")
"mnemonic>=0.19")))))))
(propagated-inputs
- (list python-aiohttp
- python-attrs
+ (list python-attrs
python-base58
python-jsonschema
python-libnacl
python-pyaes
- python-pylibscrypt
python-graphql-core
python-mnemonic
python-websocket-client
@@ -2081,3 +2127,100 @@ analysis of financial market data.")
format used by SWIFT. It returns smart Python collections for statistics
and manipulation.")
(license license:bsd-3)))
+
+(define-public xmrig
+ (package
+ (name "xmrig")
+ (version "6.18.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/xmrig/xmrig")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256 (base32 "1ncnfjpjwjdv29plyiam2nh01bfni49sgfi3qkijygi1450w71dx"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; TODO: Try to use system libraries instead of bundled ones in
+ ;; "src/3rdparty/". It requires changes to some "cmake/..." scripts
+ ;; and to some source files.
+ #~(substitute* "src/donate.h"
+ (("constexpr const int kDefaultDonateLevel = 1;")
+ "constexpr const int kDefaultDonateLevel = 0;")
+ (("constexpr const int kMinimumDonateLevel = 1;")
+ "constexpr const int kMinimumDonateLevel = 0;")))))
+ (build-system cmake-build-system)
+ (inputs
+ (list
+ `(,hwloc "lib")
+ libuv
+ openssl))
+ (arguments
+ (list
+ ;; There are no tests.
+ #:tests? #f
+ #:phases
+ #~(modify-phases
+ %standard-phases
+ (replace 'install
+ ;; There is no 'install' target, we must install xmrig manually
+ (lambda* (#:key #:allow-other-keys)
+ (install-file "xmrig"
+ (string-append #$output "/bin")))))))
+ (home-page "https://xmrig.com/")
+ (synopsis "Monero miner")
+ (description
+ "XMRig is a high performance, cross platform RandomX, KawPow,
+CryptoNight, AstroBWT and GhostRider unified CPU/GPU miner and RandomX
+benchmark.
+
+Warning: upstream, by default, receives a percentage of the mining time. This
+anti-functionality has been neutralised in Guix, but possibly not in all other
+distributions.
+
+Warning: this software, because of it's nature, has high energy consumption.
+Also, the energy expenses might be higher that the cryptocurrency gained by
+mining.")
+ (license license:gpl3+)))
+
+(define-public p2pool
+ (package
+ (name "p2pool")
+ (version "2.2.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/SChernykh/p2pool")
+ (commit (string-append "v" version))
+ (recursive? #t)))
+ (file-name (git-file-name name version))
+ (sha256 (base32 "19pn7axj96yvza2x7678rs79c2vgmhl8d7f9ki72v2n6l2630fw8"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(for-each delete-file-recursively
+ '("external/lib"
+ "external/src/cppzmq"
+ "external/src/curl"
+ "external/src/libuv"
+ "external/src/libzmq"
+ "external/src/rapidjson")))))
+ (build-system cmake-build-system)
+ (inputs
+ (list cppzmq curl gss libuv rapidjson zeromq))
+ (arguments
+ (list
+ #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'install
+ (lambda _
+ (install-file "p2pool" (string-append #$output "/bin")))))))
+ (home-page "https://p2pool.io/")
+ (synopsis "Decentralized Monero mining pool")
+ (description "Monero P2Pool is a peer-to-peer Monero mining pool. P2Pool
+combines the advantages of pool and solo mining; you still fully control your
+Monero node and what it mines, but you get frequent payouts like on a regular
+pool.")
+ (license license:gpl3)))