unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#36258] [PATCH 1/2] gnu: monero: Update to 0.14.1.0.
@ 2019-06-17  8:44 Guillaume LE VAILLANT
  2019-06-17  8:44 ` [bug#36259] [PATCH 2/2] gnu: monero-gui: " Guillaume LE VAILLANT
  2019-06-22 20:38 ` [bug#36258] [PATCH 1/2] gnu: monero: " swedebugia
  0 siblings, 2 replies; 21+ messages in thread
From: Guillaume LE VAILLANT @ 2019-06-17  8:44 UTC (permalink / raw)
  To: 36258; +Cc: Guillaume LE VAILLANT

* gnu/packages/finance.scm (monero): Update to 0.14.1.0.
* gnu/packages/patches/monero-use-system-miniupnpc.patch: Update file.
---
 gnu/packages/finance.scm                      | 89 +++++++++--------
 .../patches/monero-use-system-miniupnpc.patch | 95 +++----------------
 2 files changed, 61 insertions(+), 123 deletions(-)

diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 5b95bcb704..50a96183f7 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
diff --git a/gnu/packages/patches/monero-use-system-miniupnpc.patch b/gnu/packages/patches/monero-use-system-miniupnpc.patch
index 6bc825d121..c5d376d793 100644
--- a/gnu/packages/patches/monero-use-system-miniupnpc.patch
+++ b/gnu/packages/patches/monero-use-system-miniupnpc.patch
@@ -1,111 +1,42 @@
-This reverts commit 1e20d705e7c64d2b17c031f345057d1e8850fafa, so that it's possible to use our own
-miniupnpc, instead of a git submodule.
----
- CMakeLists.txt          |  8 ++++++++
- external/CMakeLists.txt | 41 +++++++++++++++++++++++++++++++----------
- src/p2p/net_node.inl    | 13 ++++++++++---
- 3 files changed, 49 insertions(+), 13 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 3b93988e..ef948885 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -430,6 +430,14 @@ include_directories("${CMAKE_CURRENT_BINARY_DIR}/translations")
- 
- add_subdirectory(external)
- 
-+# Final setup for miniupnpc
-+if(UPNP_STATIC OR IOS)
-+  add_definitions("-DUPNP_STATIC")
-+else()
-+  add_definitions("-DUPNP_DYNAMIC")
-+  include_directories(${UPNP_INCLUDE})
-+endif()
-+
- # Final setup for libunbound
- include_directories(${UNBOUND_INCLUDE})
- link_directories(${UNBOUND_LIBRARY_DIRS})
 diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt
-index 1fc4d64c..b4f712ee 100644
+index 7553f87e..8e865c6c 100644
 --- a/external/CMakeLists.txt
 +++ b/external/CMakeLists.txt
-@@ -34,21 +34,42 @@
- # We always compile if we are building statically to reduce static dependency issues...
- # ...except for FreeBSD, because FreeBSD is a special case that doesn't play well with
- # others.
-+if(NOT IOS)
-+    find_package(Miniupnpc QUIET)
-+endif()
+@@ -37,19 +37,7 @@
  
--find_package(Miniupnpc REQUIRED)
-+# If we have the correct shared version and we're not building static, use it
-+if(STATIC OR IOS)
-+ set(USE_SHARED_MINIUPNPC false)
-+elseif(MINIUPNP_FOUND AND MINIUPNPC_VERSION_1_7_OR_HIGHER)
-+ set(USE_SHARED_MINIUPNPC true)
-+endif()
+ find_package(Miniupnpc REQUIRED)
  
 -message(STATUS "Using in-tree miniupnpc")
-+if(USE_SHARED_MINIUPNPC)
-+  message(STATUS "Using shared miniupnpc found at ${MINIUPNP_INCLUDE_DIR}")
- 
 -add_subdirectory(miniupnp/miniupnpc)
-+  set(UPNP_STATIC false PARENT_SCOPE)
-+  set(UPNP_INCLUDE ${MINIUPNP_INCLUDE_DIR} PARENT_SCOPE)
-+  set(UPNP_LIBRARIES ${MINIUPNP_LIBRARY} PARENT_SCOPE)
-+else()
-+  if(STATIC)
-+    message(STATUS "Using miniupnpc from local source tree for static build")
-+  else()
-+    message(STATUS "Using miniupnpc from local source tree (/external/miniupnp/miniupnpc)")
-+  endif()
- 
 -set_property(TARGET libminiupnpc-static PROPERTY FOLDER "external")
 -if(MSVC)
 -  set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -wd4244 -wd4267")
 -elseif(NOT MSVC)
 -  set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-undef -Wno-unused-result -Wno-unused-value")
 -endif()
-+  add_subdirectory(miniupnp/miniupnpc)
-+
-+  set_property(TARGET libminiupnpc-static PROPERTY FOLDER "external")
-+  if(MSVC)
-+    set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -wd4244 -wd4267")
-+  elseif(NOT MSVC)
-+    set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-undef -Wno-unused-result -Wno-unused-value")
-+  endif()
- 
+-if(CMAKE_SYSTEM_NAME MATCHES "NetBSD")
+-	set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -D_NETBSD_SOURCE")
+-endif()
+-
 -set(UPNP_LIBRARIES "libminiupnpc-static" PARENT_SCOPE)
-+  set(UPNP_STATIC true PARENT_SCOPE)
-+  set(UPNP_LIBRARIES "libminiupnpc-static" PARENT_SCOPE)
-+endif()
++set(UPNP_LIBRARIES "miniupnpc" PARENT_SCOPE)
  
  find_package(Unbound)
  
 diff --git a/src/p2p/net_node.inl b/src/p2p/net_node.inl
-index 9b21705e..76340a22 100644
+index 74924e4f..3554dd0d 100644
 --- a/src/p2p/net_node.inl
 +++ b/src/p2p/net_node.inl
-@@ -49,9 +49,16 @@
+@@ -49,9 +49,9 @@
  #include "storages/levin_abstract_invoke2.h"
  #include "cryptonote_core/cryptonote_core.h"
  
 -#include <miniupnp/miniupnpc/miniupnpc.h>
 -#include <miniupnp/miniupnpc/upnpcommands.h>
 -#include <miniupnp/miniupnpc/upnperrors.h>
-+// We have to look for miniupnpc headers in different places, dependent on if its compiled or external
-+#ifdef UPNP_STATIC
-+  #include <miniupnp/miniupnpc/miniupnpc.h>
-+  #include <miniupnp/miniupnpc/upnpcommands.h>
-+  #include <miniupnp/miniupnpc/upnperrors.h>
-+#else
-+  #include "miniupnpc.h"
-+  #include "upnpcommands.h"
-+  #include "upnperrors.h"
-+#endif
++#include <miniupnpc/miniupnpc.h>
++#include <miniupnpc/upnpcommands.h>
++#include <miniupnpc/upnperrors.h>
  
  #undef MONERO_DEFAULT_LOG_CATEGORY
  #define MONERO_DEFAULT_LOG_CATEGORY "net.p2p"
--- 
-2.16.2
-
-- 
2.22.0

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [bug#36259] [PATCH 2/2] gnu: monero-gui: Update to 0.14.1.0.
  2019-06-17  8:44 [bug#36258] [PATCH 1/2] gnu: monero: Update to 0.14.1.0 Guillaume LE VAILLANT
@ 2019-06-17  8:44 ` Guillaume LE VAILLANT
  2019-06-26 12:08   ` Guillaume LE VAILLANT
  2019-06-22 20:38 ` [bug#36258] [PATCH 1/2] gnu: monero: " swedebugia
  1 sibling, 1 reply; 21+ messages in thread
From: Guillaume LE VAILLANT @ 2019-06-17  8:44 UTC (permalink / raw)
  To: 36259; +Cc: Guillaume LE VAILLANT

* gnu/packages/finance.scm (monero-gui): Update to 0.14.1.0.
---
 gnu/packages/finance.scm | 96 +++++++++++++++++++++++-----------------
 1 file changed, 55 insertions(+), 41 deletions(-)

diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 50a96183f7..4e04916116 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -534,37 +534,48 @@ the Monero command line client and daemon.")
 (define-public monero-gui
   (package
     (name "monero-gui")
-    (version "0.12.2.0")
+    (version "0.14.1.0")
     (source
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/monero-project/monero-gui")
+             (url "https://github.com/monero-project/monero-gui.git")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1cnrkwh7kp64lnzz1xfmkf1mhsgm5gls292gpqai3jr8jydpkahl"))))
+         "1ikr8g7vkbsf2251dzaivi0cla2yi3d8b7v0pih3410yrqsq2jka"))))
     (build-system gnu-build-system)
     (native-inputs
-     `(("doxygen" ,doxygen)
-       ("graphviz" ,graphviz)
-       ("pkg-config" ,pkg-config)
+     `(("pkg-config" ,pkg-config)
        ("qttools" ,qttools)))
     (inputs
      `(("boost" ,boost)
+       ("hidapi" ,hidapi)
        ("libunwind" ,libunwind)
+       ("libsodium" ,libsodium)
        ("openssl" ,openssl)
        ("qtbase" ,qtbase)
        ("qtdeclarative" ,qtdeclarative)
        ("qtgraphicaleffects" ,qtgraphicaleffects)
+       ("qtlocation" ,qtlocation)
+       ("qtmultimedia" ,qtmultimedia)
        ("qtquickcontrols" ,qtquickcontrols)
-       ("readline" ,readline)
+       ("qtquickcontrols2",qtquickcontrols2)
+       ("qtsvg" ,qtsvg)
+       ("qtwebchannel" ,qtwebchannel)
+       ("qtx11extras" ,qtx11extras)
+       ("qtxmlpatterns" ,qtxmlpatterns)
        ("unbound" ,unbound)))
     (propagated-inputs
      `(("monero" ,monero)))
     (arguments
-     `(#:phases
+     `(#:modules ((guix build gnu-build-system)
+                  (guix build qt-utils)
+                  (guix build utils))
+       #:imported-modules (,@%gnu-build-system-modules
+                           (guix build qt-utils))
+       #:phases
        (modify-phases %standard-phases
          (delete 'configure)
          (delete 'check)
@@ -576,32 +587,45 @@ the Monero command line client and daemon.")
          (add-after 'fix-makefile-vars 'fix-library-paths
            (lambda* (#:key inputs #:allow-other-keys)
              (substitute* "monero-wallet-gui.pro"
-               (("-L/usr/local/lib") "")
+               (("-L/usr/local/lib")
+                "")
                (("-L/usr/local/opt/openssl/lib")
-                (string-append "-L"
-                               (assoc-ref inputs "openssl")
-                               "/lib"))
+                (string-append "-L" (assoc-ref inputs "openssl") "/lib"))
                (("-L/usr/local/opt/boost/lib")
-                (string-append "-L"
-                               (assoc-ref inputs "boost")
-                               "/lib")))
+                (string-append "-L" (assoc-ref inputs "boost") "/lib")))
              #t))
          (add-after 'fix-library-paths 'fix-monerod-path
            (lambda* (#:key inputs #:allow-other-keys)
              (substitute* "src/daemon/DaemonManager.cpp"
                (("QApplication::applicationDirPath\\(\\) \\+ \"/monerod")
-                (string-append "\""(assoc-ref inputs "monero")
+                (string-append "\"" (assoc-ref inputs "monero")
                                "/bin/monerod")))
              #t))
          (add-after 'fix-monerod-path 'fix-qt-paths
            (lambda* (#:key inputs #:allow-other-keys)
-             (let* ((qttools  (assoc-ref inputs "qttools"))
-                    (lrelease (string-append qttools "/bin/lrelease"))
-                    (lupdate (string-append qttools "/bin/lupdate")))
-               (substitute* "monero-wallet-gui.pro"
-                 (("\\$\\$\\[QT_INSTALL_BINS\\]/lrelease") lrelease)
-                 (("\\$\\$\\[QT_INSTALL_BINS\\]/lupdate") lupdate))
-               #t)))
+             (substitute* "monero-wallet-gui.pro"
+               (("\\$\\$\\[QT_INSTALL_BINS\\]/lrelease")
+                (string-append (assoc-ref inputs "qttools") "/bin/lrelease"))
+               (("\\$\\$\\[QT_INSTALL_BINS\\]/lupdate")
+                (string-append (assoc-ref inputs "qttools") "/bin/lupdate")))
+             #t))
+         (add-after 'fix-qt-paths 'make-qt-deterministic
+           (lambda _
+             (setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1")
+             #t))
+         (add-after 'make-qt-deterministic 'fix-version
+           (lambda _
+             (substitute* "build.sh"
+               (("echo .*> version.js")
+                ""))
+             (with-output-to-file "version.js"
+               (lambda _
+                 (format #t
+                         "var GUI_VERSION = \"~a\"~@
+                          var GUI_MONERO_VERSION = \"~a\"~%"
+                         ,version
+                         ,(package-version monero))))
+             #t))
          (replace 'build
            (lambda _
              (invoke "./build.sh")))
@@ -613,28 +637,18 @@ the Monero command line client and daemon.")
              #t))
          (add-before 'install 'change-dir
            (lambda _
-             (chdir "build")))
-         (add-after 'install 'wrap-executable
-           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (chdir "build")
+             #t))
+         (add-after 'install 'wrap-program
+           (lambda* (#:key outputs #:allow-other-keys)
              (let ((out (assoc-ref outputs "out")))
-               (wrap-program (string-append out "/bin/monero-wallet-gui")
-                 `("QT_PLUGIN_PATH" ":" prefix
-                   ,(map (lambda (label)
-                           (string-append (assoc-ref inputs label)
-                                          "/lib/qt5/plugins"))
-                         '("qtbase" "qtdeclarative")))
-                 `("QML2_IMPORT_PATH" ":" prefix
-                   ,(map (lambda (label)
-                           (string-append (assoc-ref inputs label)
-                                          "/lib/qt5/qml"))
-                         '("qtdeclarative" "qtgraphicaleffects"
-                           "qtquickcontrols"))))
-               #t))))))
+               (wrap-qt-program out "monero-wallet-gui"))
+             #t)))))
     (home-page "https://getmonero.org/")
     (synopsis "Graphical user interface for the Monero currency")
     (description
-     "Monero is a secure, private, untraceable currency.  This package provides the
-Monero GUI client.")
+     "Monero is a secure, private, untraceable currency.  This package provides
+the Monero GUI client.")
     (license license:bsd-3)))
 
 (define-public monero-core
-- 
2.22.0

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [bug#36258] [PATCH 1/2] gnu: monero: Update to 0.14.1.0.
  2019-06-17  8:44 [bug#36258] [PATCH 1/2] gnu: monero: Update to 0.14.1.0 Guillaume LE VAILLANT
  2019-06-17  8:44 ` [bug#36259] [PATCH 2/2] gnu: monero-gui: " Guillaume LE VAILLANT
@ 2019-06-22 20:38 ` swedebugia
  2019-06-22 22:17   ` Guillaume LE VAILLANT
  1 sibling, 1 reply; 21+ messages in thread
From: swedebugia @ 2019-06-22 20:38 UTC (permalink / raw)
  To: Guillaume LE VAILLANT, 36258

On 2019-06-17 10:44, Guillaume LE VAILLANT wrote:
> * gnu/packages/finance.scm (monero): Update to 0.14.1.0.
> * gnu/packages/patches/monero-use-system-miniupnpc.patch: Update file.
> ---

Thanks for the patch!

I tried building it with 4GB ram and 4GB swap but it failed with this 
error which I suspect is memory-related.

I'm building it again now with -c 1 and it got past this point :) I will 
review further once it is done.

make -f src/wallet/CMakeFiles/obj_wallet.dir/build.make 
src/wallet/CMakeFiles/obj_wallet.dir/build
make[2]: Entering directory '/tmp/guix-build-monero-0.14.1.0.drv-0/build'
[ 32%] Building CXX object 
src/wallet/CMakeFiles/obj_wallet.dir/wallet2.cpp.o
cd /tmp/guix-build-monero-0.14.1.0.drv-0/build/src/wallet && 
/gnu/store/n2p1zs14y89lwkg9da68y12pc10c6sw9-gcc-5.5.0/bin/c++ 
-DAUTO_INITIALIZE_EASYLOGGINGPP -DBLOCKCHAIN_DB=DB_LMDB 
-DDEFAULT_DB_TYPE=\"lmdb\" -DHAVE_EXPLICIT_BZERO -DHAVE_HIDAPI 
-DHAVE_STRPTIME -DPER_BLOCK_CHECKPOINT 
-I/tmp/guix-build-monero-0.14.1.0.drv-0/monero-0.14.1.0-checkout/external/rapidjson/include 
-I/tmp/guix-build-monero-0.14.1.0.drv-0/monero-0.14.1.0-checkout/external/easylogging++ 
-I/tmp/guix-build-monero-0.14.1.0.drv-0/monero-0.14.1.0-checkout/src 
-I/tmp/guix-build-monero-0.14.1.0.drv-0/monero-0.14.1.0-checkout/contrib/epee/include 
-I/tmp/guix-build-monero-0.14.1.0.drv-0/monero-0.14.1.0-checkout/external 
-I/gnu/store/yl1vi61qmvvh83amwiwaik7s7jc03n5z-openssl-1.0.2p/include 
-I/tmp/guix-build-monero-0.14.1.0.drv-0/build/translations 
-I/gnu/store/2bpljhwxmm4w50ah93g80wrpzipzji2v-unbound-1.9.1/include 
-I/tmp/guix-build-monero-0.14.1.0.drv-0/monero-0.14.1.0-checkout/external/db_drivers/liblmdb 
-I/gnu/store/0rqzg8jrmvza1a6n9qg26j6dpy49850c-hidapi-0.8.0-rc1/include/hidapi 
-isystem 
/gnu/store/pz22lgiw476i9fla6ds5f1shchndk7ny-boost-1.69.0/include 
-pthread -maes  -fno-strict-aliasing -std=c++11 -D_GNU_SOURCE   -Wall 
-Wextra -Wpointer-arith -Wundef -Wvla -Wwrite-strings -Wno-error=extra 
-Wno-error=deprecated-declarations -Wno-unused-parameter 
-Wno-unused-variable -Wno-error=unused-variable -Wno-error=undef 
-Wno-error=uninitialized -Wlogical-op -Wno-error=maybe-uninitialized 
-Wno-error=cpp -Wno-reorder -Wno-missing-field-initializers  -fPIC 
-Wformat -Wformat-security -fstack-protector -fstack-protector-strong 
-fno-strict-aliasing -ftemplate-depth=900 -O2 -g -DNDEBUG   -o 
CMakeFiles/obj_wallet.dir/wallet2.cpp.o -c 
/tmp/guix-build-monero-0.14.1.0.drv-0/monero-0.14.1.0-checkout/src/wallet/wallet2.cpp
In file included from 
/gnu/store/pz22lgiw476i9fla6ds5f1shchndk7ny-boost-1.69.0/include/boost/detail/endian.hpp:9:0,
                  from 
/tmp/guix-build-monero-0.14.1.0.drv-0/monero-0.14.1.0-checkout/external/boost/archive/portable_binary_archive.hpp:25,
                  from 
/tmp/guix-build-monero-0.14.1.0.drv-0/monero-0.14.1.0-checkout/external/boost/archive/portable_binary_iarchive.hpp:33,
                  from 
/tmp/guix-build-monero-0.14.1.0.drv-0/monero-0.14.1.0-checkout/src/cryptonote_basic/cryptonote_boost_serialization.h:40,
                  from 
/tmp/guix-build-monero-0.14.1.0.drv-0/monero-0.14.1.0-checkout/src/cryptonote_basic/account_boost_serialization.h:34,
                  from 
/tmp/guix-build-monero-0.14.1.0.drv-0/monero-0.14.1.0-checkout/src/wallet/wallet2.h:46,
                  from 
/tmp/guix-build-monero-0.14.1.0.drv-0/monero-0.14.1.0-checkout/src/wallet/wallet2.cpp:47:
/gnu/store/pz22lgiw476i9fla6ds5f1shchndk7ny-boost-1.69.0/include/boost/predef/detail/endian_compat.h:11:161: 
note: #pragma message: The use of BOOST_*_ENDIAN and BOOST_BYTE_ORDER is 
deprecated. Please include <boost/predef/other/endian.h> and use 
BOOST_ENDIAN_*_BYTE instead
  #pragma message("The use of BOOST_*_ENDIAN and BOOST_BYTE_ORDER is 
deprecated. Please include <boost/predef/other/endian.h> and use 
BOOST_ENDIAN_*_BYTE instead")
 
 
                  ^
In file included from 
/gnu/store/pz22lgiw476i9fla6ds5f1shchndk7ny-boost-1.69.0/include/boost/random/detail/integer_log2.hpp:19:0,
                  from 
/gnu/store/pz22lgiw476i9fla6ds5f1shchndk7ny-boost-1.69.0/include/boost/random/detail/large_arithmetic.hpp:19,
                  from 
/gnu/store/pz22lgiw476i9fla6ds5f1shchndk7ny-boost-1.69.0/include/boost/random/detail/const_mod.hpp:23,
                  from 
/gnu/store/pz22lgiw476i9fla6ds5f1shchndk7ny-boost-1.69.0/include/boost/random/detail/seed_impl.hpp:26,
                  from 
/gnu/store/pz22lgiw476i9fla6ds5f1shchndk7ny-boost-1.69.0/include/boost/random/mersenne_twister.hpp:30,
                  from 
/gnu/store/pz22lgiw476i9fla6ds5f1shchndk7ny-boost-1.69.0/include/boost/uuid/random_generator.hpp:17,
                  from 
/tmp/guix-build-monero-0.14.1.0.drv-0/monero-0.14.1.0-checkout/contrib/epee/include/net/network_throttle.hpp:61,
                  from 
/tmp/guix-build-monero-0.14.1.0.drv-0/monero-0.14.1.0-checkout/contrib/epee/include/net/network_throttle-detail.hpp:40,
                  from 
/tmp/guix-build-monero-0.14.1.0.drv-0/monero-0.14.1.0-checkout/contrib/epee/include/net/abstract_tcp_server2.h:59,
                  from 
/tmp/guix-build-monero-0.14.1.0.drv-0/monero-0.14.1.0-checkout/contrib/epee/include/net/http_server_impl_base.h:36,
                  from 
/tmp/guix-build-monero-0.14.1.0.drv-0/monero-0.14.1.0-checkout/src/wallet/message_transporter.h:35,
                  from 
/tmp/guix-build-monero-0.14.1.0.drv-0/monero-0.14.1.0-checkout/src/wallet/message_store.h:46,
                  from 
/tmp/guix-build-monero-0.14.1.0.drv-0/monero-0.14.1.0-checkout/src/wallet/wallet2.h:65,
                  from 
/tmp/guix-build-monero-0.14.1.0.drv-0/monero-0.14.1.0-checkout/src/wallet/wallet2.cpp:47:
/gnu/store/pz22lgiw476i9fla6ds5f1shchndk7ny-boost-1.69.0/include/boost/pending/integer_log2.hpp:7:89: 
note: #pragma message: This header is deprecated. Use 
<boost/integer/integer_log2.hpp> instead.
/tmp/guix-build-monero-0.14.1.0.drv-0/monero-0.14.1.0-checkout/src/wallet/wallet2.cpp: 
In member function ‘void 
tools::wallet2::get_outs(std::vector<std::vector<std::tuple<long 
unsigned int, crypto::public_key, rct::key> > >&, const std::vector<long 
unsigned int>&, size_t)’:
/tmp/guix-build-monero-0.14.1.0.drv-0/monero-0.14.1.0-checkout/src/wallet/wallet2.cpp:7729:12: 
warning: variable ‘existing_ring_found’ set but not used 
[-Wunused-but-set-variable]
        bool existing_ring_found = false;
             ^
c++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
make[2]: *** [src/wallet/CMakeFiles/obj_wallet.dir/build.make:66: 
src/wallet/CMakeFiles/obj_wallet.dir/wallet2.cpp.o] Error 4
make[2]: Leaving directory '/tmp/guix-build-monero-0.14.1.0.drv-0/build'
make[1]: *** [CMakeFiles/Makefile2:2456: 
src/wallet/CMakeFiles/obj_wallet.dir/all] Error 2



-- 
Cheers Swedebugia

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [bug#36258] [PATCH 1/2] gnu: monero: Update to 0.14.1.0.
  2019-06-22 20:38 ` [bug#36258] [PATCH 1/2] gnu: monero: " swedebugia
@ 2019-06-22 22:17   ` Guillaume LE VAILLANT
  2019-06-23 11:31     ` swedebugia
  0 siblings, 1 reply; 21+ messages in thread
From: Guillaume LE VAILLANT @ 2019-06-22 22:17 UTC (permalink / raw)
  To: swedebugia; +Cc: 36258


swedebugia a écrit :

> I tried building it with 4GB ram and 4GB swap but it failed with this error
> which I suspect is memory-related.
>
> I'm building it again now with -c 1 and it got past this point :) I will review
> further once it is done.
>
> make -f src/wallet/CMakeFiles/obj_wallet.dir/build.make
> src/wallet/CMakeFiles/obj_wallet.dir/build
> make[2]: Entering directory '/tmp/guix-build-monero-0.14.1.0.drv-0/build'
> [ 32%] Building CXX object src/wallet/CMakeFiles/obj_wallet.dir/wallet2.cpp.o
>
> [...]
>
> c++: internal compiler error: Killed (program cc1plus)

Yes I think it's a crash caused by an "out of memory" error. The
wallet2.cpp file is pretty big (around 500 kB), and apparently g++ wants
several gigabytes of RAM to compile it. When compiling on my system with
8 threads, 16 GB of RAM and 8 GB of swap, I often saw between 3 and 4 GB
being swapped when the compiling process got to that file.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [bug#36258] [PATCH 1/2] gnu: monero: Update to 0.14.1.0.
  2019-06-22 22:17   ` Guillaume LE VAILLANT
@ 2019-06-23 11:31     ` swedebugia
  2019-06-23 12:53       ` Guillaume LE VAILLANT
  0 siblings, 1 reply; 21+ messages in thread
From: swedebugia @ 2019-06-23 11:31 UTC (permalink / raw)
  To: Guillaume LE VAILLANT; +Cc: 36258

On 2019-06-23 00:17, Guillaume LE VAILLANT wrote:
> 
> swedebugia a écrit :
> 
>> I tried building it with 4GB ram and 4GB swap but it failed with this error
>> which I suspect is memory-related.
>>
>> I'm building it again now with -c 1 and it got past this point :) I will review
>> further once it is done.
>>
>> make -f src/wallet/CMakeFiles/obj_wallet.dir/build.make
>> src/wallet/CMakeFiles/obj_wallet.dir/build
>> make[2]: Entering directory '/tmp/guix-build-monero-0.14.1.0.drv-0/build'
>> [ 32%] Building CXX object src/wallet/CMakeFiles/obj_wallet.dir/wallet2.cpp.o
>>
>> [...]
>>
>> c++: internal compiler error: Killed (program cc1plus)
> 
> Yes I think it's a crash caused by an "out of memory" error. The
> wallet2.cpp file is pretty big (around 500 kB), and apparently g++ wants
> several gigabytes of RAM to compile it. When compiling on my system with
> 8 threads, 16 GB of RAM and 8 GB of swap, I often saw between 3 and 4 GB
> being swapped when the compiling process got to that file.
> 

It finished compiling on 1 core but the tests stopped after an hour and 
was completely silent and no cpu use.

How do I run the tests manually?

I tried:
cd into /tmp/guix-build-xxx
source the env
cd build
make "ARGS=-R 'hash|core_tests'" "test"
but got this error:
Could not find executable 
/tmp/guix-build-monero-0.14.1.0.drv-0/build/tests/hash-target-tests


-- 
Cheers Swedebugia

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [bug#36258] [PATCH 1/2] gnu: monero: Update to 0.14.1.0.
  2019-06-23 11:31     ` swedebugia
@ 2019-06-23 12:53       ` Guillaume LE VAILLANT
  2019-06-23 13:18         ` swedebugia
  0 siblings, 1 reply; 21+ messages in thread
From: Guillaume LE VAILLANT @ 2019-06-23 12:53 UTC (permalink / raw)
  To: swedebugia; +Cc: 36258


swedebugia a écrit :

> It finished compiling on 1 core but the tests stopped after an hour and was
> completely silent and no cpu use.
>
> How do I run the tests manually?
>
> I tried:
> cd into /tmp/guix-build-xxx
> source the env
> cd build
> make "ARGS=-R 'hash|core_tests'" "test"
> but got this error:
> Could not find executable
> /tmp/guix-build-monero-0.14.1.0.drv-0/build/tests/hash-target-tests

That's strange, if the compilation phase finished, the
'build/tests/hash-target-tests' file should exist.
Do the 'build/tests/core_tests/core_tests' and
'build/tests/unit_tests/unit_tests' programs exist, or is your
'build/tests' directory empty?

Also, 'core_tests' takes a long time to complete (around 40 minutes on
my machine I think), and it doesn't print any message while it's
running (but there should be 1 CPU core in use).

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [bug#36258] [PATCH 1/2] gnu: monero: Update to 0.14.1.0.
  2019-06-23 12:53       ` Guillaume LE VAILLANT
@ 2019-06-23 13:18         ` swedebugia
  2019-06-24  6:20           ` swedebugia
  0 siblings, 1 reply; 21+ messages in thread
From: swedebugia @ 2019-06-23 13:18 UTC (permalink / raw)
  To: Guillaume LE VAILLANT; +Cc: 36258

On 2019-06-23 14:53, Guillaume LE VAILLANT wrote:
> 
> swedebugia a écrit :
...

>> Could not find executable
>> /tmp/guix-build-monero-0.14.1.0.drv-0/build/tests/hash-target-tests
> 
> That's strange, if the compilation phase finished, the
> 'build/tests/hash-target-tests' file should exist.
> Do the 'build/tests/core_tests/core_tests' and
> 'build/tests/unit_tests/unit_tests' programs exist, or is your
> 'build/tests' directory empty?

It did exist but the drv-paths in the makefiles was wrong.

> 
> Also, 'core_tests' takes a long time to complete (around 40 minutes on
> my machine I think), and it doesn't print any message while it's
> running (but there should be 1 CPU core in use).
> 

Got them running now. Will report back when they are done :)

-- 
Cheers Swedebugia

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [bug#36258] [PATCH 1/2] gnu: monero: Update to 0.14.1.0.
  2019-06-23 13:18         ` swedebugia
@ 2019-06-24  6:20           ` swedebugia
  2019-06-24  9:54             ` Guillaume LE VAILLANT
  0 siblings, 1 reply; 21+ messages in thread
From: swedebugia @ 2019-06-24  6:20 UTC (permalink / raw)
  To: 36258, glv

On 2019-06-23 15:18, swedebugia wrote:
> On 2019-06-23 14:53, Guillaume LE VAILLANT wrote:
>>
>> swedebugia a écrit :
> ...
> 
>>> Could not find executable
>>> /tmp/guix-build-monero-0.14.1.0.drv-0/build/tests/hash-target-tests
>>
>> That's strange, if the compilation phase finished, the
>> 'build/tests/hash-target-tests' file should exist.
>> Do the 'build/tests/core_tests/core_tests' and
>> 'build/tests/unit_tests/unit_tests' programs exist, or is your
>> 'build/tests' directory empty?
> 
> It did exist but the drv-paths in the makefiles was wrong.
> 
>>
>> Also, 'core_tests' takes a long time to complete (around 40 minutes on
>> my machine I think), and it doesn't print any message while it's
>> running (but there should be 1 CPU core in use).
>>
> 
> Got them running now. Will report back when they are done :)
> 

Tests completed succesfully. I saw this note:

+                       ;; 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")

Did you report this upstream?
Could you include the failed test also (commented below the comment)

Otherwise LGTM :)

PS: I started working on Aeon (fork of monero) since they are very 
similar it should be "easy" to package now that you got monero working 
again.

-- 
Cheers Swedebugia

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [bug#36258] [PATCH 1/2] gnu: monero: Update to 0.14.1.0.
  2019-06-24  6:20           ` swedebugia
@ 2019-06-24  9:54             ` Guillaume LE VAILLANT
  2019-06-25 10:07               ` Guillaume LE VAILLANT
  0 siblings, 1 reply; 21+ messages in thread
From: Guillaume LE VAILLANT @ 2019-06-24  9:54 UTC (permalink / raw)
  To: swedebugia; +Cc: 36258


swedebugia a écrit :

> Tests completed succesfully. I saw this note:
>
> +                       ;; 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")
>
> Did you report this upstream?
> Could you include the failed test also (commented below the comment)
>
> Otherwise LGTM :)
>
> PS: I started working on Aeon (fork of monero) since they are very similar it
> should be "easy" to package now that you got monero working again.

I'm not entirely sure why the "Serialization.portability_wallet" test
fails. It might not be related to compatibility between Boost versions,
because compiling with the same Boost version in two different ways
gives different results.

When I compile using 'guix build monero', the test fails.
---
/tmp/guix-build-monero-0.14.1.0.drv-0/monero-0.14.1.0-checkout/tests/unit_tests/serialization.cpp:633: Failure
Value of: r
  Actual: false
Expected: true
---

When I compile by hand using 'guix environment --pure monero', the test
passes.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [bug#36258] [PATCH 1/2] gnu: monero: Update to 0.14.1.0.
  2019-06-24  9:54             ` Guillaume LE VAILLANT
@ 2019-06-25 10:07               ` Guillaume LE VAILLANT
  2019-06-25 11:32                 ` swedebugia
  0 siblings, 1 reply; 21+ messages in thread
From: Guillaume LE VAILLANT @ 2019-06-25 10:07 UTC (permalink / raw)
  To: swedebugia; +Cc: 36258

[-- Attachment #1: Type: text/plain, Size: 1577 bytes --]


Guillaume LE VAILLANT a écrit :

> swedebugia a écrit :
>
>> Tests completed succesfully. I saw this note:
>>
>> +                       ;; 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")
>>
>> Did you report this upstream?
>> Could you include the failed test also (commented below the comment)
>>
>> Otherwise LGTM :)
>>
>> PS: I started working on Aeon (fork of monero) since they are very similar it
>> should be "easy" to package now that you got monero working again.
>
> I'm not entirely sure why the "Serialization.portability_wallet" test
> fails. It might not be related to compatibility between Boost versions,
> because compiling with the same Boost version in two different ways
> gives different results.
>
> When I compile using 'guix build monero', the test fails.
> ---
> /tmp/guix-build-monero-0.14.1.0.drv-0/monero-0.14.1.0-checkout/tests/unit_tests/serialization.cpp:633: Failure
> Value of: r
>   Actual: false
> Expected: true
> ---
>
> When I compile by hand using 'guix environment --pure monero', the test
> passes.

I found out why the "Serialization.portability_wallet" failed; it was
because of missing write permissions on some test files.

Updated patch with the test enabled attached.

[-- Attachment #2: 0001-gnu-monero-Update-to-0.14.1.0.patch --]
[-- Type: text/x-diff, Size: 12742 bytes --]

From a41ff296f296e43834af07c20e60319b302b70f7 Mon Sep 17 00:00:00 2001
From: Guillaume LE VAILLANT <glv@posteo.net>
Date: Sat, 15 Jun 2019 10:12:36 +0200
Subject: [PATCH 1/2] 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.
---
 gnu/packages/finance.scm                      | 90 ++++++++++--------
 .../patches/monero-use-system-miniupnpc.patch | 95 +++----------------
 2 files changed, 62 insertions(+), 123 deletions(-)

diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 5b95bcb704..7cdb41b372 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,24 @@ 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))
+         (add-after 'change-log-path 'fix-file-permissions-for-tests
+           (lambda _
+             (for-each (lambda (f)
+                         (chmod f #o644))
+                       (find-files "tests/data/" "wallet_9svHk1.*"))
+             #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 +519,17 @@ other machines/servers.  Electroncash does not download the Bitcoin Cash blockch
                        "DNSResolver.IPv4Success"
                        "DNSResolver.DNSSECSuccess"
                        "DNSResolver.DNSSECFailure"
-                       "DNSResolver.GetTXTRecord")
+                       "DNSResolver.GetTXTRecord"
+                       "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
diff --git a/gnu/packages/patches/monero-use-system-miniupnpc.patch b/gnu/packages/patches/monero-use-system-miniupnpc.patch
index 6bc825d121..c5d376d793 100644
--- a/gnu/packages/patches/monero-use-system-miniupnpc.patch
+++ b/gnu/packages/patches/monero-use-system-miniupnpc.patch
@@ -1,111 +1,42 @@
-This reverts commit 1e20d705e7c64d2b17c031f345057d1e8850fafa, so that it's possible to use our own
-miniupnpc, instead of a git submodule.
----
- CMakeLists.txt          |  8 ++++++++
- external/CMakeLists.txt | 41 +++++++++++++++++++++++++++++++----------
- src/p2p/net_node.inl    | 13 ++++++++++---
- 3 files changed, 49 insertions(+), 13 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 3b93988e..ef948885 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -430,6 +430,14 @@ include_directories("${CMAKE_CURRENT_BINARY_DIR}/translations")
- 
- add_subdirectory(external)
- 
-+# Final setup for miniupnpc
-+if(UPNP_STATIC OR IOS)
-+  add_definitions("-DUPNP_STATIC")
-+else()
-+  add_definitions("-DUPNP_DYNAMIC")
-+  include_directories(${UPNP_INCLUDE})
-+endif()
-+
- # Final setup for libunbound
- include_directories(${UNBOUND_INCLUDE})
- link_directories(${UNBOUND_LIBRARY_DIRS})
 diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt
-index 1fc4d64c..b4f712ee 100644
+index 7553f87e..8e865c6c 100644
 --- a/external/CMakeLists.txt
 +++ b/external/CMakeLists.txt
-@@ -34,21 +34,42 @@
- # We always compile if we are building statically to reduce static dependency issues...
- # ...except for FreeBSD, because FreeBSD is a special case that doesn't play well with
- # others.
-+if(NOT IOS)
-+    find_package(Miniupnpc QUIET)
-+endif()
+@@ -37,19 +37,7 @@
  
--find_package(Miniupnpc REQUIRED)
-+# If we have the correct shared version and we're not building static, use it
-+if(STATIC OR IOS)
-+ set(USE_SHARED_MINIUPNPC false)
-+elseif(MINIUPNP_FOUND AND MINIUPNPC_VERSION_1_7_OR_HIGHER)
-+ set(USE_SHARED_MINIUPNPC true)
-+endif()
+ find_package(Miniupnpc REQUIRED)
  
 -message(STATUS "Using in-tree miniupnpc")
-+if(USE_SHARED_MINIUPNPC)
-+  message(STATUS "Using shared miniupnpc found at ${MINIUPNP_INCLUDE_DIR}")
- 
 -add_subdirectory(miniupnp/miniupnpc)
-+  set(UPNP_STATIC false PARENT_SCOPE)
-+  set(UPNP_INCLUDE ${MINIUPNP_INCLUDE_DIR} PARENT_SCOPE)
-+  set(UPNP_LIBRARIES ${MINIUPNP_LIBRARY} PARENT_SCOPE)
-+else()
-+  if(STATIC)
-+    message(STATUS "Using miniupnpc from local source tree for static build")
-+  else()
-+    message(STATUS "Using miniupnpc from local source tree (/external/miniupnp/miniupnpc)")
-+  endif()
- 
 -set_property(TARGET libminiupnpc-static PROPERTY FOLDER "external")
 -if(MSVC)
 -  set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -wd4244 -wd4267")
 -elseif(NOT MSVC)
 -  set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-undef -Wno-unused-result -Wno-unused-value")
 -endif()
-+  add_subdirectory(miniupnp/miniupnpc)
-+
-+  set_property(TARGET libminiupnpc-static PROPERTY FOLDER "external")
-+  if(MSVC)
-+    set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -wd4244 -wd4267")
-+  elseif(NOT MSVC)
-+    set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-undef -Wno-unused-result -Wno-unused-value")
-+  endif()
- 
+-if(CMAKE_SYSTEM_NAME MATCHES "NetBSD")
+-	set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -D_NETBSD_SOURCE")
+-endif()
+-
 -set(UPNP_LIBRARIES "libminiupnpc-static" PARENT_SCOPE)
-+  set(UPNP_STATIC true PARENT_SCOPE)
-+  set(UPNP_LIBRARIES "libminiupnpc-static" PARENT_SCOPE)
-+endif()
++set(UPNP_LIBRARIES "miniupnpc" PARENT_SCOPE)
  
  find_package(Unbound)
  
 diff --git a/src/p2p/net_node.inl b/src/p2p/net_node.inl
-index 9b21705e..76340a22 100644
+index 74924e4f..3554dd0d 100644
 --- a/src/p2p/net_node.inl
 +++ b/src/p2p/net_node.inl
-@@ -49,9 +49,16 @@
+@@ -49,9 +49,9 @@
  #include "storages/levin_abstract_invoke2.h"
  #include "cryptonote_core/cryptonote_core.h"
  
 -#include <miniupnp/miniupnpc/miniupnpc.h>
 -#include <miniupnp/miniupnpc/upnpcommands.h>
 -#include <miniupnp/miniupnpc/upnperrors.h>
-+// We have to look for miniupnpc headers in different places, dependent on if its compiled or external
-+#ifdef UPNP_STATIC
-+  #include <miniupnp/miniupnpc/miniupnpc.h>
-+  #include <miniupnp/miniupnpc/upnpcommands.h>
-+  #include <miniupnp/miniupnpc/upnperrors.h>
-+#else
-+  #include "miniupnpc.h"
-+  #include "upnpcommands.h"
-+  #include "upnperrors.h"
-+#endif
++#include <miniupnpc/miniupnpc.h>
++#include <miniupnpc/upnpcommands.h>
++#include <miniupnpc/upnperrors.h>
  
  #undef MONERO_DEFAULT_LOG_CATEGORY
  #define MONERO_DEFAULT_LOG_CATEGORY "net.p2p"
--- 
-2.16.2
-
-- 
2.22.0


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [bug#36258] [PATCH 1/2] gnu: monero: Update to 0.14.1.0.
  2019-06-25 10:07               ` Guillaume LE VAILLANT
@ 2019-06-25 11:32                 ` swedebugia
  2019-07-03 10:06                   ` bug#36258: " Ludovic Courtès
  0 siblings, 1 reply; 21+ messages in thread
From: swedebugia @ 2019-06-25 11:32 UTC (permalink / raw)
  To: Guillaume LE VAILLANT; +Cc: 36258

On 2019-06-25 12:07, Guillaume LE VAILLANT wrote:
> 
> Guillaume LE VAILLANT a écrit :
> 
>> swedebugia a écrit :
>>
>>> Tests completed succesfully. I saw this note:
>>>
>>> +                       ;; 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")
>>>
>>> Did you report this upstream?
>>> Could you include the failed test also (commented below the comment)
>>>
>>> Otherwise LGTM :)
>>>
>>> PS: I started working on Aeon (fork of monero) since they are very similar it
>>> should be "easy" to package now that you got monero working again.
>>
>> I'm not entirely sure why the "Serialization.portability_wallet" test
>> fails. It might not be related to compatibility between Boost versions,
>> because compiling with the same Boost version in two different ways
>> gives different results.
>>
>> When I compile using 'guix build monero', the test fails.
>> ---
>> /tmp/guix-build-monero-0.14.1.0.drv-0/monero-0.14.1.0-checkout/tests/unit_tests/serialization.cpp:633: Failure
>> Value of: r
>>    Actual: false
>> Expected: true
>> ---
>>
>> When I compile by hand using 'guix environment --pure monero', the test
>> passes.
> 
> I found out why the "Serialization.portability_wallet" failed; it was
> because of missing write permissions on some test files.
> 
> Updated patch with the test enabled attached.
> 

Good catch :D

I do not have commit access so someone else will have to commit this.

I'm not going to review monero-gui because qt is too heavy for my 
mobile bandwidth.

-- 
Cheers Swedebugia

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [bug#36259] [PATCH 2/2] gnu: monero-gui: Update to 0.14.1.0.
  2019-06-17  8:44 ` [bug#36259] [PATCH 2/2] gnu: monero-gui: " Guillaume LE VAILLANT
@ 2019-06-26 12:08   ` Guillaume LE VAILLANT
  2019-06-26 22:55     ` swedebugia
  2019-07-03 10:07     ` bug#36259: " Ludovic Courtès
  0 siblings, 2 replies; 21+ messages in thread
From: Guillaume LE VAILLANT @ 2019-06-26 12:08 UTC (permalink / raw)
  To: 36259

[-- Attachment #1: Type: text/plain, Size: 105 bytes --]


Upstream modified the v0.14.1.0 tag for monero-gui; updated patch with
the new sources' hash attached.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0002-gnu-monero-gui-Update-to-0.14.1.0.patch --]
[-- Type: text/x-diff, Size: 7184 bytes --]

From 921b431c80e5647871b9378d15c73979fd2150b0 Mon Sep 17 00:00:00 2001
From: Guillaume LE VAILLANT <glv@posteo.net>
Date: Sat, 15 Jun 2019 10:33:41 +0200
Subject: [PATCH 2/2] gnu: monero-gui: Update to 0.14.1.0.

* gnu/packages/finance.scm (monero-gui): Update to 0.14.1.0.
---
 gnu/packages/finance.scm | 96 +++++++++++++++++++++++-----------------
 1 file changed, 55 insertions(+), 41 deletions(-)

diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 7cdb41b372..97f9942a33 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -535,37 +535,48 @@ the Monero command line client and daemon.")
 (define-public monero-gui
   (package
     (name "monero-gui")
-    (version "0.12.2.0")
+    (version "0.14.1.0")
     (source
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/monero-project/monero-gui")
+             (url "https://github.com/monero-project/monero-gui.git")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1cnrkwh7kp64lnzz1xfmkf1mhsgm5gls292gpqai3jr8jydpkahl"))))
+         "0ilx47771faygf97wilm64xnqxgxa3b43q0g9v014npk0qj8pc31"))))
     (build-system gnu-build-system)
     (native-inputs
-     `(("doxygen" ,doxygen)
-       ("graphviz" ,graphviz)
-       ("pkg-config" ,pkg-config)
+     `(("pkg-config" ,pkg-config)
        ("qttools" ,qttools)))
     (inputs
      `(("boost" ,boost)
+       ("hidapi" ,hidapi)
        ("libunwind" ,libunwind)
+       ("libsodium" ,libsodium)
        ("openssl" ,openssl)
        ("qtbase" ,qtbase)
        ("qtdeclarative" ,qtdeclarative)
        ("qtgraphicaleffects" ,qtgraphicaleffects)
+       ("qtlocation" ,qtlocation)
+       ("qtmultimedia" ,qtmultimedia)
        ("qtquickcontrols" ,qtquickcontrols)
-       ("readline" ,readline)
+       ("qtquickcontrols2",qtquickcontrols2)
+       ("qtsvg" ,qtsvg)
+       ("qtwebchannel" ,qtwebchannel)
+       ("qtx11extras" ,qtx11extras)
+       ("qtxmlpatterns" ,qtxmlpatterns)
        ("unbound" ,unbound)))
     (propagated-inputs
      `(("monero" ,monero)))
     (arguments
-     `(#:phases
+     `(#:modules ((guix build gnu-build-system)
+                  (guix build qt-utils)
+                  (guix build utils))
+       #:imported-modules (,@%gnu-build-system-modules
+                           (guix build qt-utils))
+       #:phases
        (modify-phases %standard-phases
          (delete 'configure)
          (delete 'check)
@@ -577,32 +588,45 @@ the Monero command line client and daemon.")
          (add-after 'fix-makefile-vars 'fix-library-paths
            (lambda* (#:key inputs #:allow-other-keys)
              (substitute* "monero-wallet-gui.pro"
-               (("-L/usr/local/lib") "")
+               (("-L/usr/local/lib")
+                "")
                (("-L/usr/local/opt/openssl/lib")
-                (string-append "-L"
-                               (assoc-ref inputs "openssl")
-                               "/lib"))
+                (string-append "-L" (assoc-ref inputs "openssl") "/lib"))
                (("-L/usr/local/opt/boost/lib")
-                (string-append "-L"
-                               (assoc-ref inputs "boost")
-                               "/lib")))
+                (string-append "-L" (assoc-ref inputs "boost") "/lib")))
              #t))
          (add-after 'fix-library-paths 'fix-monerod-path
            (lambda* (#:key inputs #:allow-other-keys)
              (substitute* "src/daemon/DaemonManager.cpp"
                (("QApplication::applicationDirPath\\(\\) \\+ \"/monerod")
-                (string-append "\""(assoc-ref inputs "monero")
+                (string-append "\"" (assoc-ref inputs "monero")
                                "/bin/monerod")))
              #t))
          (add-after 'fix-monerod-path 'fix-qt-paths
            (lambda* (#:key inputs #:allow-other-keys)
-             (let* ((qttools  (assoc-ref inputs "qttools"))
-                    (lrelease (string-append qttools "/bin/lrelease"))
-                    (lupdate (string-append qttools "/bin/lupdate")))
-               (substitute* "monero-wallet-gui.pro"
-                 (("\\$\\$\\[QT_INSTALL_BINS\\]/lrelease") lrelease)
-                 (("\\$\\$\\[QT_INSTALL_BINS\\]/lupdate") lupdate))
-               #t)))
+             (substitute* "monero-wallet-gui.pro"
+               (("\\$\\$\\[QT_INSTALL_BINS\\]/lrelease")
+                (string-append (assoc-ref inputs "qttools") "/bin/lrelease"))
+               (("\\$\\$\\[QT_INSTALL_BINS\\]/lupdate")
+                (string-append (assoc-ref inputs "qttools") "/bin/lupdate")))
+             #t))
+         (add-after 'fix-qt-paths 'make-qt-deterministic
+           (lambda _
+             (setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1")
+             #t))
+         (add-after 'make-qt-deterministic 'fix-version
+           (lambda _
+             (substitute* "build.sh"
+               (("echo .*> version.js")
+                ""))
+             (with-output-to-file "version.js"
+               (lambda _
+                 (format #t
+                         "var GUI_VERSION = \"~a\"~@
+                          var GUI_MONERO_VERSION = \"~a\"~%"
+                         ,version
+                         ,(package-version monero))))
+             #t))
          (replace 'build
            (lambda _
              (invoke "./build.sh")))
@@ -614,28 +638,18 @@ the Monero command line client and daemon.")
              #t))
          (add-before 'install 'change-dir
            (lambda _
-             (chdir "build")))
-         (add-after 'install 'wrap-executable
-           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (chdir "build")
+             #t))
+         (add-after 'install 'wrap-program
+           (lambda* (#:key outputs #:allow-other-keys)
              (let ((out (assoc-ref outputs "out")))
-               (wrap-program (string-append out "/bin/monero-wallet-gui")
-                 `("QT_PLUGIN_PATH" ":" prefix
-                   ,(map (lambda (label)
-                           (string-append (assoc-ref inputs label)
-                                          "/lib/qt5/plugins"))
-                         '("qtbase" "qtdeclarative")))
-                 `("QML2_IMPORT_PATH" ":" prefix
-                   ,(map (lambda (label)
-                           (string-append (assoc-ref inputs label)
-                                          "/lib/qt5/qml"))
-                         '("qtdeclarative" "qtgraphicaleffects"
-                           "qtquickcontrols"))))
-               #t))))))
+               (wrap-qt-program out "monero-wallet-gui"))
+             #t)))))
     (home-page "https://getmonero.org/")
     (synopsis "Graphical user interface for the Monero currency")
     (description
-     "Monero is a secure, private, untraceable currency.  This package provides the
-Monero GUI client.")
+     "Monero is a secure, private, untraceable currency.  This package provides
+the Monero GUI client.")
     (license license:bsd-3)))
 
 (define-public monero-core
-- 
2.22.0


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [bug#36259] [PATCH 2/2] gnu: monero-gui: Update to 0.14.1.0.
  2019-06-26 12:08   ` Guillaume LE VAILLANT
@ 2019-06-26 22:55     ` swedebugia
  2019-07-03 10:07     ` bug#36259: " Ludovic Courtès
  1 sibling, 0 replies; 21+ messages in thread
From: swedebugia @ 2019-06-26 22:55 UTC (permalink / raw)
  To: 36259

On 2019-06-26 14:08, Guillaume LE VAILLANT wrote:
> 
> Upstream modified the v0.14.1.0 tag for monero-gui; updated patch with
> the new sources' hash attached.
> 

Isn't this a bad sign (for us)?
I see no stable tarball.

Actually 0.14.1 seems to be a development version as it is not marked 
release on the page.

-- 
Cheers Swedebugia

^ permalink raw reply	[flat|nested] 21+ messages in thread

* bug#36258: [PATCH 1/2] gnu: monero: Update to 0.14.1.0.
  2019-06-25 11:32                 ` swedebugia
@ 2019-07-03 10:06                   ` Ludovic Courtès
  2019-07-14 11:11                     ` [bug#36258] " swedebugia
  0 siblings, 1 reply; 21+ messages in thread
From: Ludovic Courtès @ 2019-07-03 10:06 UTC (permalink / raw)
  To: swedebugia; +Cc: Guillaume LE VAILLANT, 36258-done

Hi,

swedebugia <swedebugia@riseup.net> skribis:

> I do not have commit access so someone else will have to commit this.

Applied!

The ‘core_tests’ bit of the test suite always takes an awful lot of
time:

--8<---------------cut here---------------start------------->8---
Test project /tmp/guix-build-monero-0.14.1.0.drv-0/build
      Start  1: hash-target
 1/13 Test  #1: hash-target ......................   Passed    0.85 sec
      Start  2: core_tests
 2/13 Test  #2: core_tests .......................   Passed  3871.80 sec
      Start  9: hash-fast
--8<---------------cut here---------------end--------------->8---

Anyway, thanks!

Ludo’.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* bug#36259: [PATCH 2/2] gnu: monero-gui: Update to 0.14.1.0.
  2019-06-26 12:08   ` Guillaume LE VAILLANT
  2019-06-26 22:55     ` swedebugia
@ 2019-07-03 10:07     ` Ludovic Courtès
  1 sibling, 0 replies; 21+ messages in thread
From: Ludovic Courtès @ 2019-07-03 10:07 UTC (permalink / raw)
  To: Guillaume LE VAILLANT; +Cc: 36259-done

Guillaume LE VAILLANT <glv@posteo.net> skribis:

>>From 921b431c80e5647871b9378d15c73979fd2150b0 Mon Sep 17 00:00:00 2001
> From: Guillaume LE VAILLANT <glv@posteo.net>
> Date: Sat, 15 Jun 2019 10:33:41 +0200
> Subject: [PATCH 2/2] gnu: monero-gui: Update to 0.14.1.0.
>
> * gnu/packages/finance.scm (monero-gui): Update to 0.14.1.0.

Applied, thanks!

Ludo’.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [bug#36258] [PATCH 1/2] gnu: monero: Update to 0.14.1.0.
  2019-07-03 10:06                   ` bug#36258: " Ludovic Courtès
@ 2019-07-14 11:11                     ` swedebugia
  2019-07-14 11:51                       ` Guillaume Le Vaillant
  0 siblings, 1 reply; 21+ messages in thread
From: swedebugia @ 2019-07-14 11:11 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: Guillaume LE VAILLANT, 36258-done

On 2019-07-03 12:06, Ludovic Courtès wrote:
> Hi,
> 
> swedebugia <swedebugia@riseup.net> skribis:
> 
>> I do not have commit access so someone else will have to commit this.
> 
> Applied!


It times out:


       Start  1: hash-target
  1/13 Test  #1: hash-target ......................   Passed    1.00 sec
       Start  2: core_tests
building of 
`/gnu/store/y35w9qpz1v9k7srxajpaqch4s7l8mind-monero-0.14.1.0.drv' timed 
out after 3600 seconds of silence
@ build-failed 
/gnu/store/y35w9qpz1v9k7srxajpaqch4s7l8mind-monero-0.14.1.0.drv - timeout

http://ci.guix.gnu.org/log/5n9alpgkb7kmv87gwn30fbwqmpd6k138-monero-0.14.1.0

-- 
Cheers
Swedebugia

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [bug#36258] [PATCH 1/2] gnu: monero: Update to 0.14.1.0.
  2019-07-14 11:11                     ` [bug#36258] " swedebugia
@ 2019-07-14 11:51                       ` Guillaume Le Vaillant
  2019-07-14 13:32                         ` Ludovic Courtès
  0 siblings, 1 reply; 21+ messages in thread
From: Guillaume Le Vaillant @ 2019-07-14 11:51 UTC (permalink / raw)
  To: swedebugia; +Cc: 36258-done


swedebugia a écrit :

> It times out:
>
>
>       Start  1: hash-target
>  1/13 Test  #1: hash-target ......................   Passed    1.00 sec
>       Start  2: core_tests
> building of `/gnu/store/y35w9qpz1v9k7srxajpaqch4s7l8mind-monero-0.14.1.0.drv'
> timed out after 3600 seconds of silence
> @ build-failed
> /gnu/store/y35w9qpz1v9k7srxajpaqch4s7l8mind-monero-0.14.1.0.drv - timeout
>
> http://ci.guix.gnu.org/log/5n9alpgkb7kmv87gwn30fbwqmpd6k138-monero-0.14.1.0

We could disable 'core_tests' in the test phase if the time they take is
a problem. The other enabled tests should only take 5 or 10 minutes
I think.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [bug#36258] [PATCH 1/2] gnu: monero: Update to 0.14.1.0.
  2019-07-14 11:51                       ` Guillaume Le Vaillant
@ 2019-07-14 13:32                         ` Ludovic Courtès
  2019-07-14 14:55                           ` swedebugia
  0 siblings, 1 reply; 21+ messages in thread
From: Ludovic Courtès @ 2019-07-14 13:32 UTC (permalink / raw)
  To: Guillaume Le Vaillant; +Cc: 36258-done

Hi swedebugia and Guillaume,

Guillaume Le Vaillant <glv@posteo.net> skribis:

> swedebugia a écrit :
>
>> It times out:
>>
>>
>>       Start  1: hash-target
>>  1/13 Test  #1: hash-target ......................   Passed    1.00 sec
>>       Start  2: core_tests
>> building of `/gnu/store/y35w9qpz1v9k7srxajpaqch4s7l8mind-monero-0.14.1.0.drv'
>> timed out after 3600 seconds of silence
>> @ build-failed
>> /gnu/store/y35w9qpz1v9k7srxajpaqch4s7l8mind-monero-0.14.1.0.drv - timeout
>>
>> http://ci.guix.gnu.org/log/5n9alpgkb7kmv87gwn30fbwqmpd6k138-monero-0.14.1.0

Yeah, like I wrote earlier, this test takes a lot of time, and so,
depending on the machine, it might take longer than the
max-silent-timeout.  Not great.

> We could disable 'core_tests' in the test phase if the time they take is
> a problem. The other enabled tests should only take 5 or 10 minutes
> I think.

I’d rather not disable tests just because they take a long time.

An obvious workaround would be to have the test machinery display some
sort of progress report or really anything that shows it’s still “doing
something” so that we don’t hit max-silent-timeout.

Do you know if the build system or CTest has a flag that would make it
more verbose?

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [bug#36258] [PATCH 1/2] gnu: monero: Update to 0.14.1.0.
  2019-07-14 13:32                         ` Ludovic Courtès
@ 2019-07-14 14:55                           ` swedebugia
  2019-07-14 16:13                             ` Guillaume Le Vaillant
  0 siblings, 1 reply; 21+ messages in thread
From: swedebugia @ 2019-07-14 14:55 UTC (permalink / raw)
  To: Ludovic Courtès, Guillaume Le Vaillant; +Cc: 36258-done

On 2019-07-14 15:32, Ludovic Courtès wrote:
...
> 
> I’d rather not disable tests just because they take a long time.
> 
> An obvious workaround would be to have the test machinery display some
> sort of progress report or really anything that shows it’s still “doing
> something” so that we don’t hit max-silent-timeout.
> 
> Do you know if the build system or CTest has a flag that would make it
> more verbose?

It has:
https://linux.die.net/man/1/ctest

-V,--verbose
Enable verbose output from tests.
Test output is normally suppressed and only summary information is 
displayed. This option will show all test output.

-VV,--extra-verbose
Enable more verbose output from tests.
Test output is normally suppressed and only summary information is 
displayed. This option will show even more test output.

--debug
Displaying more verbose internals of CTest.
This feature will result in large number of output that is mostly useful 
for debugging dashboard problems.

Could you test those Guillaume and see if it helps us?

-- 
Cheers
Swedebugia

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [bug#36258] [PATCH 1/2] gnu: monero: Update to 0.14.1.0.
  2019-07-14 14:55                           ` swedebugia
@ 2019-07-14 16:13                             ` Guillaume Le Vaillant
  2019-07-15 10:50                               ` Ludovic Courtès
  0 siblings, 1 reply; 21+ messages in thread
From: Guillaume Le Vaillant @ 2019-07-14 16:13 UTC (permalink / raw)
  To: swedebugia; +Cc: 36258-done

[-- Attachment #1: Type: text/plain, Size: 1282 bytes --]


swedebugia a écrit :

> On 2019-07-14 15:32, Ludovic Courtès wrote:
> ...
>>
>> I’d rather not disable tests just because they take a long time.
>>
>> An obvious workaround would be to have the test machinery display some
>> sort of progress report or really anything that shows it’s still “doing
>> something” so that we don’t hit max-silent-timeout.
>>
>> Do you know if the build system or CTest has a flag that would make it
>> more verbose?
>
> It has:
> https://linux.die.net/man/1/ctest
>
> -V,--verbose
> Enable verbose output from tests.
> Test output is normally suppressed and only summary information is displayed.
> This option will show all test output.
>
> -VV,--extra-verbose
> Enable more verbose output from tests.
> Test output is normally suppressed and only summary information is displayed.
> This option will show even more test output.
>
> --debug
> Displaying more verbose internals of CTest.
> This feature will result in large number of output that is mostly useful for
> debugging dashboard problems.
>
> Could you test those Guillaume and see if it helps us?

Adding the '--verbose' option (patch in attachment) makes the test phase
print many things, which should fix the 'max-silent-timeout' issue.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-monero-Make-tests-more-verbose.patch --]
[-- Type: text/x-diff, Size: 1133 bytes --]

From 52c9affbebff3cf2e7d89b918060b46721fa6bd5 Mon Sep 17 00:00:00 2001
From: Guillaume Le Vaillant <glv@posteo.net>
Date: Sun, 14 Jul 2019 17:37:19 +0200
Subject: [PATCH] gnu: monero: Make tests more verbose.

Increase the verbosity of the 'check' phase to prevent 'core_tests' from
hitting 'max-silent-timeout'.

* gnu/packages/finance.scm (monero)[arguments]: Add '--verbose' option to
  'check' phase.
---
 gnu/packages/finance.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 918ba006f2..977ac9c19c 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -509,7 +509,7 @@ other machines/servers.  Electroncash does not download the Bitcoin Cash blockch
          ;; Only try tests that don't need access to network or system
          (replace 'check
            (lambda _
-             (invoke "make" "ARGS=-R 'hash|core_tests'" "test")))
+             (invoke "make" "ARGS=-R 'hash|core_tests' --verbose" "test")))
          (add-after 'check 'unit-tests
            (lambda _
              (let ((excluded-unit-tests
-- 
2.22.0


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [bug#36258] [PATCH 1/2] gnu: monero: Update to 0.14.1.0.
  2019-07-14 16:13                             ` Guillaume Le Vaillant
@ 2019-07-15 10:50                               ` Ludovic Courtès
  0 siblings, 0 replies; 21+ messages in thread
From: Ludovic Courtès @ 2019-07-15 10:50 UTC (permalink / raw)
  To: Guillaume Le Vaillant; +Cc: 36258-done

Hello,

Guillaume Le Vaillant <glv@posteo.net> skribis:

>> Could you test those Guillaume and see if it helps us?
>
> Adding the '--verbose' option (patch in attachment) makes the test phase
> print many things, which should fix the 'max-silent-timeout' issue.

Applied!  Now, that’s very verbose, so we might have the opposite
problem, where we’re filling the disk with a big log file…  We’ll see!

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2019-07-15 10:51 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-17  8:44 [bug#36258] [PATCH 1/2] gnu: monero: Update to 0.14.1.0 Guillaume LE VAILLANT
2019-06-17  8:44 ` [bug#36259] [PATCH 2/2] gnu: monero-gui: " Guillaume LE VAILLANT
2019-06-26 12:08   ` Guillaume LE VAILLANT
2019-06-26 22:55     ` swedebugia
2019-07-03 10:07     ` bug#36259: " Ludovic Courtès
2019-06-22 20:38 ` [bug#36258] [PATCH 1/2] gnu: monero: " swedebugia
2019-06-22 22:17   ` Guillaume LE VAILLANT
2019-06-23 11:31     ` swedebugia
2019-06-23 12:53       ` Guillaume LE VAILLANT
2019-06-23 13:18         ` swedebugia
2019-06-24  6:20           ` swedebugia
2019-06-24  9:54             ` Guillaume LE VAILLANT
2019-06-25 10:07               ` Guillaume LE VAILLANT
2019-06-25 11:32                 ` swedebugia
2019-07-03 10:06                   ` bug#36258: " Ludovic Courtès
2019-07-14 11:11                     ` [bug#36258] " swedebugia
2019-07-14 11:51                       ` Guillaume Le Vaillant
2019-07-14 13:32                         ` Ludovic Courtès
2019-07-14 14:55                           ` swedebugia
2019-07-14 16:13                             ` Guillaume Le Vaillant
2019-07-15 10:50                               ` Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).