summary refs log tree commit diff
path: root/gnu/packages/finance.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/finance.scm')
-rw-r--r--gnu/packages/finance.scm96
1 files changed, 64 insertions, 32 deletions
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 1d3e6a7a6a..3ddaa76a4e 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -39,6 +39,7 @@
   #:use-module (gnu packages base)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages check)
+  #:use-module (gnu packages crypto)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages dns)
@@ -51,6 +52,7 @@
   #:use-module (gnu packages libusb)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages multiprecision)
+  #:use-module (gnu packages networking)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages protobuf)
   #:use-module (gnu packages python)
@@ -69,7 +71,7 @@
 (define-public bitcoin-core
   (package
     (name "bitcoin-core")
-    (version "0.15.1")
+    (version "0.16.1")
     (source (origin
              (method url-fetch)
              (uri
@@ -77,7 +79,7 @@
                              version "/bitcoin-" version ".tar.gz"))
              (sha256
               (base32
-               "1d22fgwdcn343kd95lh389hj417zwbmnhi29cij8n7wc0nz2vpil"))))
+               "1zkqp93yircd3pbxczxfnibkpq0sgcv5r7wg6d196b9pwgr9zd39"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
@@ -329,6 +331,37 @@ generation from a seed.  Your secret keys are encrypted and are never sent to
 other machines/servers.  Electrum does not download the Bitcoin blockchain.")
     (license license:expat)))
 
+(define-public electron-cash
+  (package
+    (inherit electrum)
+    (name "electron-cash")
+    (version "3.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://electroncash.org/downloads/"
+                           version
+                           "/win-linux/ElectronCash-"
+                           version
+                           ".tar.gz"))
+       (sha256
+        (base32
+         "1x487hyacdm1qhik1mhfimr4jwcwz7sgsbkh11awrb6j19sxdxym"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           ;; Delete the bundled dependencies.
+           (delete-file-recursively "packages")
+           #t))))
+    (home-page "https://electroncash.org/")
+    (synopsis "Bitcoin Cash wallet")
+    (description
+     "Electroncash is a lightweight Bitcoin Cash client, based on a client-server
+protocol.  It supports Simple Payment Verification (SPV) and deterministic key
+generation from a seed.  Your secret keys are encrypted and are never sent to
+other machines/servers.  Electroncash does not download the Bitcoin Cash blockchain.")
+    (license license:expat)))
+
 (define-public monero
   ;; This package bundles easylogging++ and lmdb.
   ;; The bundled easylogging++ is modified, and the changes will not be upstreamed.
@@ -336,25 +369,18 @@ other machines/servers.  Electrum does not download the Bitcoin blockchain.")
   ;; the system's dynamically linked library.
   (package
     (name "monero")
-    (version "0.11.1.0")
+    (version "0.12.3.0")
     (source
      (origin
-       (method url-fetch)
-       (uri (string-append "https://github.com/monero-project/monero/archive/v"
-                           version ".tar.gz"))
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/monero-project/monero")
+             (commit (string-append "v" version))))
        (file-name (string-append name "-" version ".tar.gz"))
-       (modules '((guix build utils)))
-       (snippet
-        '(begin
-           ;; Delete bundled dependencies.
-           (for-each
-            delete-file-recursively
-            '("external/miniupnpc" "external/rapidjson"
-              "external/unbound"))
-           #t))
+       (patches (search-patches "monero-use-system-miniupnpc.patch"))
        (sha256
         (base32
-         "16shd834025jyzy68h3gag1sz8vbk875hy4j97hrki8pacz8vd5m"))))
+         "14db9kgjm2ha93c2x5fjdw01xaqshn756qr3x2cnzyyjh7caz5qd"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("doxygen" ,doxygen)
@@ -364,15 +390,19 @@ other machines/servers.  Electrum does not download the Bitcoin blockchain.")
     (inputs
      `(("bind" ,isc-bind)
        ("boost" ,boost)
+       ("zeromq" ,zeromq)
+       ("cppzmq" ,cppzmq)
        ("expat" ,expat)
+       ("libsodium" ,libsodium)
        ("libunwind" ,libunwind)
        ("lmdb" ,lmdb)
-       ("miniupnpc" ,miniupnpc)
+       ("miniupnpc" ,monero-miniupnpc)
        ("openssl" ,openssl)
        ("rapidjson" ,rapidjson)
        ("unbound" ,unbound)))
     (arguments
      `(#:out-of-source? #t
+       #:build-type "release"
        #:configure-flags '("-DBUILD_TESTS=ON"
                            ,@(if (string=? "aarch64-linux" (%current-system))
                                  '("-DARCH=armv8-a")
@@ -400,9 +430,8 @@ other machines/servers.  Electrum does not download the Bitcoin blockchain.")
              #t))
          (replace 'check
            (lambda _
-             (zero?
-              (system* "make" "ARGS=-E 'unit_tests|libwallet_api_tests'"
-                       "test"))))
+             (invoke "make" "ARGS=-E 'unit_tests|libwallet_api_tests'"
+                     "test")))
          ;; The excluded unit tests need network access
          (add-after 'check 'unit-tests
            (lambda _
@@ -415,10 +444,9 @@ other machines/servers.  Electrum does not download the Bitcoin blockchain.")
                        "DNSResolver.DNSSECFailure"
                        "DNSResolver.GetTXTRecord")
                      ":")))
-               (zero?
-                (system* "tests/unit_tests/unit_tests"
-                         (string-append "--gtest_filter=-"
-                                        excluded-unit-tests))))))
+               (invoke "tests/unit_tests/unit_tests"
+                       (string-append "--gtest_filter=-"
+                                      excluded-unit-tests)))))
          (add-after 'install 'install-blockchain-import-export
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
@@ -432,19 +460,20 @@ other machines/servers.  Electrum does not download the Bitcoin blockchain.")
 Monero command line client and daemon.")
     (license license:bsd-3)))
 
-(define-public monero-core
+(define-public monero-gui
   (package
-    (name "monero-core")
-    (version "0.11.1.0")
+    (name "monero-gui")
+    (version "0.12.2.0")
     (source
      (origin
-       (method url-fetch)
-       (uri (string-append "https://github.com/monero-project/monero-core/archive/v"
-                           version ".tar.gz"))
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/monero-project/monero-gui")
+             (commit (string-append "v" version))))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1q7a9kpcjgp74fbplzs2iszdld6gwbfrydyd9in9izhwp100p1rr"))))
+         "1cnrkwh7kp64lnzz1xfmkf1mhsgm5gls292gpqai3jr8jydpkahl"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("doxygen" ,doxygen)
@@ -491,7 +520,7 @@ Monero command line client and daemon.")
              #t))
          (replace 'build
            (lambda _
-             (zero? (system* "./build.sh"))))
+             (invoke "./build.sh")))
          (add-after 'build 'fix-install-path
            (lambda* (#:key outputs #:allow-other-keys)
              (substitute* "build/Makefile"
@@ -508,6 +537,9 @@ Monero command line client and daemon.")
 Monero GUI client.")
     (license license:bsd-3)))
 
+(define-public monero-core
+  (deprecated-package "monero-core" monero-gui))
+
 (define-public python-trezor-agent
   (package
     (name "python-trezor-agent")