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.scm88
1 files changed, 62 insertions, 26 deletions
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 78bd55fc15..1711649a08 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -34,6 +34,7 @@
;;; 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>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -76,6 +77,7 @@
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages cpp)
#:use-module (gnu packages crypto)
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
@@ -1810,36 +1812,70 @@ a Qt GUI.")
(define-public fulcrum
(package
(name "fulcrum")
- (version "1.1.1")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://gitlab.com/FloweeTheHub/fulcrum/-/archive/v"
- version "/fulcrum-v" version ".tar.gz"))
- (sha256
- (base32 "04w5gw02d39caa8a0l6wkn87kc43zzad2prqsyrcq97vlbkdx6x6"))))
+ (version "1.9.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cculianu/Fulcrum")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (modules '((guix build utils)))
+ (snippet
+ #~(for-each delete-file-recursively
+ '("src/Json/simdjson"
+ "src/bitcoin/secp256k1"
+ "src/robin_hood"
+ "src/zmq"
+ "staticlibs")))
+ (sha256
+ (base32
+ "1110vanl6aczlq25i4ck9j4vr81in5icw4z383wyhjpcy6rwxsw2"))
+ (patches
+ (search-patches "fulcrum-1.9.1-unbundled-libraries.patch"))))
(build-system gnu-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- ;; Call qmake instead of configure to create a Makefile.
- (replace 'configure
- (lambda _
- (invoke
- "qmake"
- (string-append "PREFIX=" %output)
- "features="))))))
- (native-inputs
- (list qttools-5))
+ (list #:configure-flags
+ #~(list "CONFIG+=config_without_bundled_cppzmq"
+ "CONFIG+=config_without_bundled_robin_hood"
+ "CONFIG+=config_without_bundled_secp256k1"
+ "LIBS+=-lrocksdb"
+ #$@(if (target-64bit?) '("LIBS+=-lsimdjson") '())
+ (format #f "DEFINES+=GIT_COMMIT=\"\\\\\\~s\\\\\\\""
+ #$version)
+ (string-append "PREFIX=" #$output))
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key configure-flags #:allow-other-keys)
+ (apply invoke "qmake" configure-flags))))))
+ (native-inputs (list pkg-config qttools-5))
(inputs
- (list python qtbase-5 rocksdb zlib))
- (home-page "https://gitlab.com/FloweeTheHub/fulcrum/")
- (synopsis "Fast and nimble SPV server for Bitcoin Cash")
+ (append (list cppzmq
+ jemalloc
+ python
+ qtbase-5
+ robin-hood-hashing
+ rocksdb
+ zeromq
+ zlib)
+ (if (target-64bit?)
+ (list simdjson-0.6)
+ '())))
+ (home-page "https://github.com/cculianu/Fulcrum")
+ (synopsis "Payment verification server for Bitcoin-like crypto-currencies")
(description
- "Flowee Fulcrum is a server that is the back-end for @acronym{SPV,
-Simplified Payment Verification} wallets, it provides the full API for those
-walets in a fast and small server. The full data is stored in a full node,
-like Flowee the Hub, which Fulcrum connects to over RPC.")
+ "Fulcrum is a @acronym{SPV, Simplified Payment Verification} server for
+Bitcoin-like crypto-currencies. The server indexes the blockchain of the
+crypto-currency used, and the resulting index can be used by wallets to
+perform queries to keep real-time track of balances.
+
+Supported crypto-currencies:
+
+@itemize
+@item Bitcoin Core.
+@item Bitcoin Cash-like.
+@item Litecoin.
+@end itemize")
(license license:gpl3+)))
(define-public flowee