summary refs log tree commit diff
path: root/gnu/packages/finance.scm
diff options
context:
space:
mode:
authorGuillaume LE VAILLANT <glv@posteo.net>2019-06-17 10:44:35 +0200
committerLudovic Courtès <ludo@gnu.org>2019-07-03 12:03:07 +0200
commitfc54da1d02c2384786b9b19c3a21d9fcd3a9d4c1 (patch)
tree6929b71cd33678b99af5a1d204964a9186e5ce93 /gnu/packages/finance.scm
parent84ce2a949929b04194b0a7ed436ebb5fb1c26af2 (diff)
downloadguix-fc54da1d02c2384786b9b19c3a21d9fcd3a9d4c1.tar.gz
gnu: monero: Update to 0.14.1.0.
* gnu/packages/finance.scm (monero): Update to 0.14.1.0.
* gnu/packages/patches/monero-use-system-miniupnpc.patch: Update file.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/packages/finance.scm')
-rw-r--r--gnu/packages/finance.scm89
1 files changed, 48 insertions, 41 deletions
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 03a8285fc1..965fa988e8 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -11,6 +11,7 @@
 ;;; Copyright © 2018 Adriano Peluso <catonano@gmail.com>
 ;;; Copyright © 2018, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -39,6 +40,7 @@
   #:use-module (gnu packages base)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages check)
+  #:use-module (gnu packages compression)
   #:use-module (gnu packages crypto)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages documentation)
@@ -68,6 +70,7 @@
   #:use-module (gnu packages textutils)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages upnp)
+  #:use-module (gnu packages version-control)
   #:use-module (gnu packages web)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages gnuzilla))
@@ -428,49 +431,59 @@ other machines/servers.  Electroncash does not download the Bitcoin Cash blockch
 
 (define-public monero
   ;; This package bundles easylogging++ and lmdb.
-  ;; The bundled easylogging++ is modified, and the changes will not be upstreamed.
+  ;; The bundled easylogging++ is modified, and the changes will not be
+  ;; upstreamed.
   ;; The devs deem the lmdb driver too critical a consenus component, to use
   ;; the system's dynamically linked library.
   (package
     (name "monero")
-    (version "0.12.3.0")
+    (version "0.14.1.0")
     (source
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/monero-project/monero")
-             (commit (string-append "v" version))))
+             (url "https://github.com/monero-project/monero.git")
+             (commit (string-append "v" version))
+             (recursive? #t)))
        (file-name (git-file-name name version))
        (patches (search-patches "monero-use-system-miniupnpc.patch"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           ;; Delete bundled dependencies.
+           (for-each
+            delete-file-recursively
+            '("external/miniupnp" "external/rapidjson"
+              "external/unbound"))
+           #t))
        (sha256
         (base32
-         "14db9kgjm2ha93c2x5fjdw01xaqshn756qr3x2cnzyyjh7caz5qd"))))
+         "1asa197fad81jfv12qgaa7y7pdr1r1pda96m9pvivkh4v30cx0nh"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("doxygen" ,doxygen)
-       ("googletest" ,googletest)
+       ("git" ,git)
        ("graphviz" ,graphviz)
-       ("pkg-config" ,pkg-config)))
+       ("pkg-config" ,pkg-config)
+       ("qttools" ,qttools)))
     (inputs
-     `(("bind" ,isc-bind)
-       ("boost" ,boost)
-       ("zeromq" ,zeromq)
+     `(("boost" ,boost)
        ("cppzmq" ,cppzmq)
        ("expat" ,expat)
-       ("libsodium" ,libsodium)
+       ("hidapi" ,hidapi)
        ("libunwind" ,libunwind)
-       ("lmdb" ,lmdb)
-       ("miniupnpc" ,monero-miniupnpc)
+       ("libsodium" ,libsodium)
+       ("miniupnpc" ,miniupnpc)
        ("openssl" ,openssl)
        ("rapidjson" ,rapidjson)
-       ("unbound" ,unbound)))
+       ("readline" ,readline)
+       ("unbound" ,unbound)
+       ("xz" ,xz)
+       ("zeromq" ,zeromq)))
     (arguments
      `(#:out-of-source? #t
-       #:build-type "release"
-       #:configure-flags '("-DBUILD_TESTS=ON"
-                           ,@(if (string=? "aarch64-linux" (%current-system))
-                                 '("-DARCH=armv8-a")
-                                 '())
+       #:configure-flags '("-DARCH=default"
+                           "-DBUILD_TESTS=ON"
                            "-DBUILD_GUI_DEPS=ON")
        #:phases
        (modify-phases %standard-phases
@@ -479,24 +492,18 @@ other machines/servers.  Electroncash does not download the Bitcoin Cash blockch
            (lambda _
              (setenv "HOME" (getcwd))
              #t))
-         (add-after 'set-home 'fix-wallet-path-for-unit-tests
-           (lambda _
-             (substitute* "tests/unit_tests/serialization.cpp"
-               (("\\.\\./\\.\\./\\.\\./\\.\\./") "../../"))
-             #t))
-         (add-after 'fix-wallet-path-for-unit-tests 'change-log-path
+         (add-after 'set-home 'change-log-path
            (lambda _
              (substitute* "contrib/epee/src/mlog.cpp"
                (("epee::string_tools::get_current_module_folder\\(\\)")
-                "\".bitmonero\""))
-             (substitute* "contrib/epee/src/mlog.cpp"
-               (("return \\(") "return ((std::string(getenv(\"HOME\"))) / "))
+                "\".bitmonero\"")
+               (("return \\(")
+                "return ((std::string(getenv(\"HOME\"))) / "))
              #t))
+         ;; Only try tests that don't need access to network or system
          (replace 'check
            (lambda _
-             (invoke "make" "ARGS=-E 'unit_tests|libwallet_api_tests'"
-                     "test")))
-         ;; The excluded unit tests need network access
+             (invoke "make" "ARGS=-R 'hash|core_tests'" "test")))
          (add-after 'check 'unit-tests
            (lambda _
              (let ((excluded-unit-tests
@@ -506,22 +513,22 @@ other machines/servers.  Electroncash does not download the Bitcoin Cash blockch
                        "DNSResolver.IPv4Success"
                        "DNSResolver.DNSSECSuccess"
                        "DNSResolver.DNSSECFailure"
-                       "DNSResolver.GetTXTRecord")
+                       "DNSResolver.GetTXTRecord"
+                       ;; TODO: Find why portability_wallet test fails
+                       ;; Maybe the Boost version used to create the test
+                       ;; wallet and the current Boost version are not
+                       ;; completely compatible?
+                       "Serialization.portability_wallet"
+                       "is_hdd.linux_os_root")
                      ":")))
                (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"))
-                    (bin (string-append out "/bin")))
-               (install-file "bin/monero-blockchain-import" bin)
-               (install-file "bin/monero-blockchain-export" bin)))))))
+                                      excluded-unit-tests))))))))
     (home-page "https://getmonero.org/")
     (synopsis "Command-line interface to the Monero currency")
     (description
-     "Monero is a secure, private, untraceable currency.  This package provides the
-Monero command line client and daemon.")
+     "Monero is a secure, private, untraceable currency.  This package provides
+the Monero command line client and daemon.")
     (license license:bsd-3)))
 
 (define-public monero-gui