Update monero to 0.12.0.0.

DoneSubmitted by Theodoros Foradis.
Details
4 participants
  • Ludovic Courtès
  • Ricardo Wurmus
  • Ricardo Wurmus
  • Theodoros Foradis
Owner
unassigned
Severity
normal
T
T
Theodoros Foradis wrote on 19 May 2018 20:50
(address . guix-patches@gnu.org)
87bmdbtr7p.fsf@foradis.org
This patch series updates monero and monero-core to 0.12.0.0 and addscppzmq package.
gnu/local.mk | 1 + gnu/packages/finance.scm | 35 ++++++++++++++++++++++------------- gnu/packages/networking.scm | 28 ++++++++++++++++++++++++++++ gnu/packages/patches/monero-fix-version.patch | 16 ++++++++++++++++ 4 files changed, 67 insertions(+), 13 deletions(-) create mode 100644 gnu/packages/patches/monero-fix-version.patch gnu: monero-core: Update to 0.12.0.0. gnu: monero: Update to 0.12.0.0. gnu: Add cppzmq.-- Theodoros Foradis
T
T
Theodoros Foradis wrote on 19 May 2018 20:54
[PATCH 1/3] gnu: Add cppzmq.
(address . 31531@debbugs.gnu.org)(name . Theodoros Foradis)(address . theodoros@foradis.org)
20180519185437.23665-1-theodoros@foradis.org
* gnu/packages/networking.scm (cppzmq): New variable.--- gnu/packages/networking.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+)
Toggle diff (48 lines)diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scmindex eda2984d1..24cd31310 100644--- a/gnu/packages/networking.scm+++ b/gnu/packages/networking.scm@@ -20,6 +20,7 @@ ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2018 Adam Van Ymeren <adam@vany.ca> ;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>+;;; Copyright © 2018 Theodoros Foradis <theodoros@foradis.org> ;;; ;;; This file is part of GNU Guix. ;;;@@ -312,6 +313,33 @@ more.") between different versions of ØMQ.") (license license:mpl2.0))) +(define-public cppzmq+ (package+ (name "cppzmq")+ (version "4.2.2")+ (source (origin+ (method url-fetch)+ (uri (string-append+ "https://github.com/zeromq/" name+ "/archive/v" version ".tar.gz"))+ (sha256+ (base32+ "0zbk3726pvcl088qzl5z3cc0w0k5hh192l5jddnc0xsqmiq01x9y"))+ (file-name (string-append name "-" version ".tar.gz"))))+ (build-system cmake-build-system)+ (arguments+ '(#:tests? #f)) ;; No tests.+ (native-inputs+ `(("pkg-config" ,pkg-config)))+ (inputs+ `(("zeromq" ,zeromq)))+ (home-page "http://zeromq.org")+ (synopsis "C++ bindings for ØMQ")+ (description+ "Header-only C++ bindings for ØMQ. Contains direct mappings of the+abstractions provided by the ØMQ C API.")+ (license license:expat)))+ (define-public librdkafka (package (name "librdkafka")-- 2.16.2
T
T
Theodoros Foradis wrote on 19 May 2018 20:54
[PATCH 2/3] gnu: monero: Update to 0.12.0.0.
(address . 31531@debbugs.gnu.org)(name . Theodoros Foradis)(address . theodoros@foradis.org)
20180519185437.23665-2-theodoros@foradis.org
* gnu/packages/patches/monero-fix-version.patch: New file.* gnu/local.mk: Add it.* gnu/packages/finance.scm: Update to 0.12.0.0.[source]: Add patch.[inputs]: Add zeromq, cppzmq, libsodium.[arguments]: Change build-type to "release".Add argument on unit-tests phase.Substitute system* with invoke.--- gnu/local.mk | 1 + gnu/packages/finance.scm | 29 ++++++++++++++++++--------- gnu/packages/patches/monero-fix-version.patch | 16 +++++++++++++++ 3 files changed, 36 insertions(+), 10 deletions(-) create mode 100644 gnu/packages/patches/monero-fix-version.patch
Toggle diff (135 lines)diff --git a/gnu/local.mk b/gnu/local.mkindex fbdb30989..e9e1fe9f4 100644--- a/gnu/local.mk+++ b/gnu/local.mk@@ -924,6 +924,7 @@ dist_patch_DATA = \ %D%/packages/patches/mingw-w64-5.0rc2-gcc-4.9.3.patch \ %D%/packages/patches/mpc123-initialize-ao.patch \ %D%/packages/patches/module-init-tools-moduledir.patch \+ %D%/packages/patches/monero-fix-version.patch \ %D%/packages/patches/mongodb-support-unknown-linux-distributions.patch \ %D%/packages/patches/mozjs17-aarch64-support.patch \ %D%/packages/patches/mozjs24-aarch64-support.patch \diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scmindex c93f64193..9f18d79ac 100644--- a/gnu/packages/finance.scm+++ b/gnu/packages/finance.scm@@ -4,7 +4,7 @@ ;;; Copyright © 2016 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au>-;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>+;;; Copyright © 2017,2018 Theodoros Foradis <theodoros@foradis.org> ;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com> ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>@@ -36,6 +36,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)@@ -48,6 +49,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)@@ -328,7 +330,7 @@ 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.0.0") (source (origin (method url-fetch)@@ -344,9 +346,11 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.") '("external/miniupnpc" "external/rapidjson" "external/unbound")) #t))+ ;; Patch should be upstream by next update. TODO: Delete it.+ (patches (search-patches "monero-fix-version.patch")) (sha256 (base32- "16shd834025jyzy68h3gag1sz8vbk875hy4j97hrki8pacz8vd5m"))))+ "1ywgvkpd9jx9hagh9q84ay8lxq4ymdbxjhdaxg29dqir1a8070sy")))) (build-system cmake-build-system) (native-inputs `(("doxygen" ,doxygen)@@ -356,7 +360,10 @@ 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)@@ -365,6 +372,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.") ("unbound" ,unbound))) (arguments `(#:out-of-source? #t+ #:build-type "release" #:configure-flags '("-DBUILD_TESTS=ON" ,@(if (string=? "aarch64-linux" (%current-system)) '("-DARCH=armv8-a")@@ -392,9 +400,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 _@@ -407,10 +414,12 @@ 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)+ ;; Fix for data dir should be upstream by next update.+ ;; TODO: Delete next command line argument.+ (string-append "--data-dir=tests/data"))))) (add-after 'install 'install-blockchain-import-export (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out"))diff --git a/gnu/packages/patches/monero-fix-version.patch b/gnu/packages/patches/monero-fix-version.patchnew file mode 100644index 000000000..694e0aaf9--- /dev/null+++ b/gnu/packages/patches/monero-fix-version.patch@@ -0,0 +1,16 @@+Fixes error during configure.+Will be upstream in monero-0.12.1.0.++diff --git a/cmake/Version.cmake b/cmake/Version.cmake+index 439c4c5..3677e80 100644+--- a/cmake/Version.cmake++++ b/cmake/Version.cmake+@@ -28,7 +28,7 @@+ + function (write_static_version_header hash)+ set(VERSIONTAG "${hash}")+- configure_file("src/version.cpp.in" "version.cpp")++ configure_file("${CMAKE_SOURCE_DIR}/src/version.cpp.in" "${CMAKE_BINARY_DIR}/version.cpp")+ endfunction ()+ + find_package(Git QUIET)-- 2.16.2
T
T
Theodoros Foradis wrote on 19 May 2018 20:54
[PATCH 3/3] gnu: monero-core: Update to 0.12.0.0.
(address . 31531@debbugs.gnu.org)(name . Theodoros Foradis)(address . theodoros@foradis.org)
20180519185437.23665-3-theodoros@foradis.org
* gnu/packages/finance.scm (monero-core): Update to 0.12.0.0.[arguments]: Substitute system* with invoke.--- gnu/packages/finance.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
Toggle diff (33 lines)diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scmindex 9f18d79ac..2980d58b0 100644--- a/gnu/packages/finance.scm+++ b/gnu/packages/finance.scm@@ -436,7 +436,7 @@ Monero command line client and daemon.") (define-public monero-core (package (name "monero-core")- (version "0.11.1.0")+ (version "0.12.0.0") (source (origin (method url-fetch)@@ -445,7 +445,7 @@ Monero command line client and daemon.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32- "1q7a9kpcjgp74fbplzs2iszdld6gwbfrydyd9in9izhwp100p1rr"))))+ "0hrpimmb0chml2cjznalxwv3xajni7md7prx0dqm5rs9vsdbw5dr")))) (build-system gnu-build-system) (native-inputs `(("doxygen" ,doxygen)@@ -492,7 +492,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"-- 2.16.2
R
R
Ricardo Wurmus wrote on 21 May 2018 22:31
Re: [bug#31531] [PATCH 1/3] gnu: Add cppzmq.
(name . Theodoros Foradis)(address . theodoros@foradis.org)(address . 31531@debbugs.gnu.org)
87vabgoimj.fsf@elephly.net
Hi Theodoros,
Toggle quote (2 lines)> * gnu/packages/networking.scm (cppzmq): New variable.
Thanks for the patch!
Toggle quote (15 lines)> +(define-public cppzmq> + (package> + (name "cppzmq")> + (version "4.2.2")> + (source (origin> + (method url-fetch)> + (uri (string-append> + "https://github.com/zeromq/" name> + "/archive/v" version ".tar.gz"))> + (sha256> + (base32> + "0zbk3726pvcl088qzl5z3cc0w0k5hh192l5jddnc0xsqmiq01x9y"))> + (file-name (string-append name "-" version> ".tar.gz"))))
Please use “git-fetch” here and let the file name end on “-checkout”.These automatically generated tarballs on GitHub are not stable; theychange over time.
Toggle quote (4 lines)> + (build-system cmake-build-system)> + (arguments> + '(#:tests? #f)) ;; No tests.
Please just use a single semicolon for end of line comments. You canmove this expression on the previous line, because it is short.
Toggle quote (10 lines)> + (native-inputs> + `(("pkg-config" ,pkg-config)))> + (inputs> + `(("zeromq" ,zeromq)))> + (home-page "http://zeromq.org")> + (synopsis "C++ bindings for ØMQ")> + (description> + "Header-only C++ bindings for ØMQ. Contains direct mappings of the> +abstractions provided by the ØMQ C API.")
Please use complete sentences.
Could you please send a new patch?
-- Ricardo
R
R
Ricardo Wurmus wrote on 21 May 2018 22:35
Re: [bug#31531] [PATCH 2/3] gnu: monero: Update to 0.12.0.0.
(name . Theodoros Foradis)(address . theodoros@foradis.org)(address . 31531@debbugs.gnu.org)
87tvr0oig5.fsf@elephly.net
Hi Theodoros,
Toggle quote (3 lines)> * gnu/packages/patches/monero-fix-version.patch: New file.> * gnu/local.mk: Add it.
I think that this patch is better implemented using “substitute*” in abuild phase.
Toggle quote (7 lines)> * gnu/packages/finance.scm: Update to 0.12.0.0.> [source]: Add patch.> [inputs]: Add zeromq, cppzmq, libsodium.> [arguments]: Change build-type to "release".> Add argument on unit-tests phase.> Substitute system* with invoke.
The last step (using “invoke”) is better done in a separate patch.
Toggle quote (3 lines)> -;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>> +;;; Copyright © 2017,2018 Theodoros Foradis <theodoros@foradis.org>
Please add a space after the comma.
Toggle quote (11 lines)> - (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)> + ;; Fix for data dir should be upstream by next update.> + ;; TODO: Delete next command line argument.> + (string-append "--data-dir=tests/data")))))
Wha does the TODO comment mean?
Toggle quote (6 lines)> + function (write_static_version_header hash)> + set(VERSIONTAG "${hash}")> +- configure_file("src/version.cpp.in" "version.cpp")> ++ configure_file("${CMAKE_SOURCE_DIR}/src/version.cpp.in" "${CMAKE_BINARY_DIR}/version.cpp")> + endfunction ()
I’d prefer this to be a short substitute* snippet instead of a patch file.
--Ricardo
R
R
Ricardo Wurmus wrote on 21 May 2018 22:36
Re: [bug#31531] [PATCH 3/3] gnu: monero-core: Update to 0.12.0.0.
(name . Theodoros Foradis)(address . theodoros@foradis.org)(address . 31531@debbugs.gnu.org)
87sh6koieg.fsf@elephly.net
Hi Theodoros,
Toggle quote (3 lines)> * gnu/packages/finance.scm (monero-core): Update to 0.12.0.0.> [arguments]: Substitute system* with invoke.
It’s better to separate these two changes.The changes themselves look good though.
Thanks!
-- Ricardo
L
L
Ludovic Courtès wrote on 14 Jun 2018 22:21
Re: [bug#31531] Update monero to 0.12.0.0.
(name . Theodoros Foradis)(address . theodoros@foradis.org)
877en1yv9g.fsf@gnu.org
Hello Theodoros,
Theodoros Foradis <theodoros@foradis.org> skribis:
Toggle quote (3 lines)> This patch series updates monero and monero-core to 0.12.0.0 and adds> cppzmq package.
Did you have a chance to look at Ricardo’s comments? It looks like verylittle is missing.
Thank you!
Ludo’.
R
R
Ricardo Wurmus wrote on 21 Jun 2018 15:23
control message for bug #31531
(address . control@debbugs.gnu.org)
5d65d770-c17d-4322-85cf-3095d4245cc1@SW-IT-P-CAS4.mdc-berlin.net
tags 31531 moreinfo
T
T
Theodoros Foradis wrote on 4 Jul 2018 18:36
Re: [bug#31531] Update monero to 0.12.0.0.
(name . Ludovic Courtès)(address . ludo@gnu.org)
87a7r7t0ud.fsf@foradis.org
Hello Ludovic,
Ludovic Courtès writes:
Toggle quote (3 lines)> Did you have a chance to look at Ricardo’s comments? It looks like very> little is missing.
Sorry for taking so long to reply, I had been busy over the lastweeks. I looked at Ricardo's comments, and I will prepare an updatedpatch series. Thanks for your patience.
-- Theodoros Foradis
T
T
Theodoros Foradis wrote on 8 Jul 2018 19:35
Re: [bug#31531] [PATCH 1/3] gnu: Add cppzmq.
(name . Ricardo Wurmus)(address . rekado@elephly.net)
87d0vxy6j1.fsf@foradis.org
Hello Ricardo,
Toggle quote (2 lines)> Could you please send a new patch?
Sorry for taking so long to send the new patch. In the meantime, monerowas updated to 0.12.3.0 with a major difference, that using the system'sminiupnpc was disabled, and the project's own version of it (due tosecurity issues upstream) was added as a git submodule.
So, there were 3 options for us. Either build from git and use the gitsubmodule, disregard the security issue (that the folks at #monero-devon freenode advised against) and use our own miniupnpc, or use monero'sminiupnpc.
I opted for the third option, introducing a patch that reverts the gitcommit that does not allow to use external miniupnpc, as well aspackaging monero-project's miniupnpc as a non-public package infinance.scm. Is this the correct way to do this?
Also, I included a commit renaming monero-core to monero-gui, as theofficial project was renamed. Is this appropriate? The old url (usingmonero-core) still worked as it's an alias for monero-gui now, but Ifigured it would be better to rename nonetheless.
Lastly, I changed both packages to use git-fetch, as the githubauto-generated tarballs would change. What do you think?
I reply to this mail with the updated patch series.
-- Theodoros Foradis
T
T
Theodoros Foradis wrote on 8 Jul 2018 19:39
[PATCH v2 1/9] gnu: Add cppzmq.
(address . 31531@debbugs.gnu.org)(name . Theodoros Foradis)(address . theodoros@foradis.org)
20180708173932.14807-1-theodoros@foradis.org
* gnu/packages/networking.scm (cppzmq): New variable.--- gnu/packages/networking.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+)
Toggle diff (50 lines)diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scmindex b72a4734d..342f54c79 100644--- a/gnu/packages/networking.scm+++ b/gnu/packages/networking.scm@@ -22,6 +22,7 @@ ;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com> ;;; Copyright © 2018 Tonton <tonton@riseup.net> ;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>+;;; Copyright © 2018 Theodoros Foradis <theodoros@foradis.org> ;;; ;;; This file is part of GNU Guix. ;;;@@ -315,6 +316,35 @@ more.") between different versions of ØMQ.") (license license:mpl2.0))) +(define-public cppzmq+ (let ((revision "0")+ (commit "d9f0f016c07046742738c65e1eb84722ae32d7d4"))+ (package+ (name "cppzmq")+ (version (string-append "4.2.2-" revision "."+ (string-take commit 7)))+ (source (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/zeromq/cppzmq")+ (commit commit)))+ (sha256+ (base32+ "1gmqlm00y6xpa5m6d4ajq3ww63n2w7h4sy997wj81vcqmqx45b1f"))+ (file-name (string-append name "-" version "-checkout"))))+ (build-system cmake-build-system)+ (arguments '(#:tests? #f)) ; No tests.+ (native-inputs+ `(("pkg-config" ,pkg-config)))+ (inputs+ `(("zeromq" ,zeromq)))+ (home-page "http://zeromq.org")+ (synopsis "C++ bindings for ØMQ")+ (description+ "Header-only C++ bindings for ØMQ. The header files contain direct mappings of+the abstractions provided by the ØMQ C API.")+ (license license:expat))))+ (define-public librdkafka (package (name "librdkafka")-- 2.16.2
T
T
Theodoros Foradis wrote on 8 Jul 2018 19:39
[PATCH v2 2/9] gnu: Add monero-miniupnpc.
(address . 31531@debbugs.gnu.org)(name . Theodoros Foradis)(address . theodoros@foradis.org)
20180708173932.14807-2-theodoros@foradis.org
* gnu/packages/finance.scm (monero-miniupnpc): New variable.--- gnu/packages/finance.scm | 43 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-)
Toggle diff (70 lines)diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scmindex 55afa6217..26f4488ab 100644--- a/gnu/packages/finance.scm+++ b/gnu/packages/finance.scm@@ -4,7 +4,7 @@ ;;; Copyright © 2016 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au>-;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>+;;; Copyright © 2017, 2018 Theodoros Foradis <theodoros@foradis.org> ;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com> ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>@@ -35,6 +35,7 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) #:use-module (guix build-system python)+ #:use-module (guix utils) #:use-module (gnu packages) #:use-module (gnu packages base) #:use-module (gnu packages boost)@@ -329,6 +330,46 @@ 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 monero-miniupnpc+ ;; This package is the bundled version of miniupnpc used with monero. Monero-project has+ ;; been maintaining its own version of the package since release 0.12.2.0. It includes+ ;; security fixes not included in upstream releases.+ (let ((revision "0")+ (commit "6a63f9954959119568fbc4af57d7b491b9428d87"))+ (package+ (inherit miniupnpc)+ (name "monero-miniupnpc")+ (version (string-append "2.1-monero-0.12.3.0-" revision "."+ (string-take commit 7)))+ (source (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/monero-project/miniupnp/")+ (commit commit)))+ (sha256+ (base32+ "0s67zcz978iapjlq30yy9dl8qda9xhrl3jdi5f99cnbglh5gy16a"))+ (file-name (string-append name "-" version "-checkout"))+ (modules '((guix build utils)))+ (snippet+ '(begin+ ;; Delete miniupnp subprojects except for miniupnpc.+ (for-each+ delete-file-recursively+ '("minissdpd" "miniupnpc-async" "miniupnpc-libevent"+ "miniupnpd" ))+ #t))))+ (arguments+ (substitute-keyword-arguments (package-arguments miniupnpc)+ ((#:phases phases)+ `(modify-phases ,phases+ (add-before 'build 'change-directory+ (lambda _+ (chdir "miniupnpc")))+ (add-after 'change-directory 'chmod-header-file+ (lambda _+ (chmod "miniupnpc.h" #o644))))))))))+ (define-public monero ;; This package bundles easylogging++ and lmdb. ;; The bundled easylogging++ is modified, and the changes will not be upstreamed.-- 2.16.2
T
T
Theodoros Foradis wrote on 8 Jul 2018 19:39
[PATCH v2 5/9] gnu: monero-core: Update to 0.12.2.0.
(address . 31531@debbugs.gnu.org)(name . Theodoros Foradis)(address . theodoros@foradis.org)
20180708173932.14807-5-theodoros@foradis.org
* gnu/packages/finance.scm (monero-core): Update to 0.12.2.0.--- gnu/packages/finance.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
Toggle diff (24 lines)diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scmindex 3d89490a5..8a80eb136 100644--- a/gnu/packages/finance.scm+++ b/gnu/packages/finance.scm@@ -472,7 +472,7 @@ Monero command line client and daemon.") (define-public monero-core (package (name "monero-core")- (version "0.11.1.0")+ (version "0.12.2.0") (source (origin (method url-fetch)@@ -481,7 +481,7 @@ Monero command line client and daemon.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32- "1q7a9kpcjgp74fbplzs2iszdld6gwbfrydyd9in9izhwp100p1rr"))))+ "0lhq8ki91qmq3mll2hc96g6wm9b1biw1dalqw116b3yn78plvy7w")))) (build-system gnu-build-system) (native-inputs `(("doxygen" ,doxygen)-- 2.16.2
T
T
Theodoros Foradis wrote on 8 Jul 2018 19:39
[PATCH v2 6/9] gnu: monero-core: Return #t from phases.
(address . 31531@debbugs.gnu.org)(name . Theodoros Foradis)(address . theodoros@foradis.org)
20180708173932.14807-6-theodoros@foradis.org
* gnu/packages/engineering.scm (monero)[arguments]: Substitute invoke for system*.--- gnu/packages/finance.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Toggle diff (15 lines)diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scmindex 8a80eb136..a02d8ee69 100644--- a/gnu/packages/finance.scm+++ b/gnu/packages/finance.scm@@ -528,7 +528,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"-- 2.16.2
T
T
Theodoros Foradis wrote on 8 Jul 2018 19:39
[PATCH v2 4/9] gnu: monero: Return #t from phases.
(address . 31531@debbugs.gnu.org)(name . Theodoros Foradis)(address . theodoros@foradis.org)
20180708173932.14807-4-theodoros@foradis.org
* gnu/packages/finance.scm (monero)[arguments]: Substitute invoke for system*.--- gnu/packages/finance.scm | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-)
Toggle diff (32 lines)diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scmindex eaafd1523..3d89490a5 100644--- a/gnu/packages/finance.scm+++ b/gnu/packages/finance.scm@@ -439,9 +439,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 _@@ -454,10 +453,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"))-- 2.16.2
T
T
Theodoros Foradis wrote on 8 Jul 2018 19:39
[PATCH v2 8/9] gnu: monero-core: Use git-fetch.
(address . 31531@debbugs.gnu.org)(name . Theodoros Foradis)(address . theodoros@foradis.org)
20180708173932.14807-8-theodoros@foradis.org
* gnu/packages/finance.scm (monero-core)[source]: Use git-fetch fordeterministic hash.--- gnu/packages/finance.scm | 149 ++++++++++++++++++++++++----------------------- 1 file changed, 76 insertions(+), 73 deletions(-)
Toggle diff (163 lines)diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scmindex 94e7756e6..85d95c140 100644--- a/gnu/packages/finance.scm+++ b/gnu/packages/finance.scm@@ -473,80 +473,83 @@ Monero command line client and daemon.") (license license:bsd-3)))) (define-public monero-core- (package- (name "monero-core")- (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"))- (file-name (string-append name "-" version ".tar.gz"))- (sha256- (base32- "0lhq8ki91qmq3mll2hc96g6wm9b1biw1dalqw116b3yn78plvy7w"))))- (build-system gnu-build-system)- (native-inputs- `(("doxygen" ,doxygen)- ("graphviz" ,graphviz)- ("pkg-config" ,pkg-config)))- (inputs- `(("boost" ,boost)- ("libunwind" ,libunwind)- ("openssl" ,openssl)- ("qt" ,qt)- ("readline" ,readline)- ("unbound" ,unbound)))- (propagated-inputs- `(("monero" ,monero)))- (arguments- `(#:phases- (modify-phases %standard-phases- (delete 'configure)- (delete 'check)- (add-before 'build 'fix-makefile-vars- (lambda _- (substitute* "src/zxcvbn-c/makefile"- (("\\?=") "="))- #t))- (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/opt/openssl/lib")- (string-append "-L"- (assoc-ref inputs "openssl")- "/lib"))- (("-L/usr/local/opt/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")- "/bin/monerod")))- #t))- (replace 'build- (lambda _- (invoke "./build.sh")))- (add-after 'build 'fix-install-path- (lambda* (#:key outputs #:allow-other-keys)- (substitute* "build/Makefile"- (("/opt/monero-wallet-gui")- (assoc-ref outputs "out")))- #t))- (add-before 'install 'change-dir- (lambda _- (chdir "build"))))))- (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+ (let ((revision "0")+ (commit "d85f3eae7cefad70affb83c56a532feb8e6db151"))+ (package+ (name "monero-core")+ (version (string-append "0.12.2.0-" revision "."+ (string-take commit 7)))+ (source (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/monero-project/monero-core")+ (commit commit)))+ (sha256+ (base32+ "1cnrkwh7kp64lnzz1xfmkf1mhsgm5gls292gpqai3jr8jydpkahl"))+ (file-name (string-append name "-" version "-checkout"))))+ (build-system gnu-build-system)+ (native-inputs+ `(("doxygen" ,doxygen)+ ("graphviz" ,graphviz)+ ("pkg-config" ,pkg-config)))+ (inputs+ `(("boost" ,boost)+ ("libunwind" ,libunwind)+ ("openssl" ,openssl)+ ("qt" ,qt)+ ("readline" ,readline)+ ("unbound" ,unbound)))+ (propagated-inputs+ `(("monero" ,monero)))+ (arguments+ `(#:phases+ (modify-phases %standard-phases+ (delete 'configure)+ (delete 'check)+ (add-before 'build 'fix-makefile-vars+ (lambda _+ (substitute* "src/zxcvbn-c/makefile"+ (("\\?=") "="))+ #t))+ (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/opt/openssl/lib")+ (string-append "-L"+ (assoc-ref inputs "openssl")+ "/lib"))+ (("-L/usr/local/opt/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")+ "/bin/monerod")))+ #t))+ (replace 'build+ (lambda _+ (invoke "./build.sh")))+ (add-after 'build 'fix-install-path+ (lambda* (#:key outputs #:allow-other-keys)+ (substitute* "build/Makefile"+ (("/opt/monero-wallet-gui")+ (assoc-ref outputs "out")))+ #t))+ (add-before 'install 'change-dir+ (lambda _+ (chdir "build"))))))+ (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.")- (license license:bsd-3)))+ (license license:bsd-3)))) (define-public python-trezor-agent (package-- 2.16.2
T
T
Theodoros Foradis wrote on 8 Jul 2018 19:39
[PATCH v2 9/9] gnu: monero-core: Rename package to "monero-gui".
(address . 31531@debbugs.gnu.org)(name . Theodoros Foradis)(address . theodoros@foradis.org)
20180708173932.14807-9-theodoros@foradis.org
* gnu/packages/finance.scm (monero-core)[name]: Rename package to "monero-gui".[source]: Change url to the actual one.--- gnu/packages/finance.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
Toggle diff (27 lines)diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scmindex 85d95c140..59e12999a 100644--- a/gnu/packages/finance.scm+++ b/gnu/packages/finance.scm@@ -472,17 +472,17 @@ 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 (let ((revision "0") (commit "d85f3eae7cefad70affb83c56a532feb8e6db151")) (package- (name "monero-core")+ (name "monero-gui") (version (string-append "0.12.2.0-" revision "." (string-take commit 7))) (source (origin (method git-fetch) (uri (git-reference- (url "https://github.com/monero-project/monero-core")+ (url "https://github.com/monero-project/monero-gui") (commit commit))) (sha256 (base32-- 2.16.2
T
T
Theodoros Foradis wrote on 8 Jul 2018 19:39
[PATCH v2 7/9] gnu: monero: Use git-fetch.
(address . 31531@debbugs.gnu.org)(name . Theodoros Foradis)(address . theodoros@foradis.org)
20180708173932.14807-7-theodoros@foradis.org
* gnu/packages/finance.scm (monero)[source]: Use git-fetch fordeterministic hash.--- gnu/packages/finance.scm | 183 ++++++++++++++++++++++++----------------------- 1 file changed, 93 insertions(+), 90 deletions(-)
Toggle diff (197 lines)diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scmindex a02d8ee69..94e7756e6 100644--- a/gnu/packages/finance.scm+++ b/gnu/packages/finance.scm@@ -377,97 +377,100 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.") ;; 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")- (source- (origin- (method url-fetch)- (uri (string-append "https://github.com/monero-project/monero/archive/v"- version ".tar.gz"))- (file-name (string-append name "-" version ".tar.gz"))- (patches (search-patches "monero-use-system-miniupnpc.patch"))- (sha256- (base32- "0wmz7g48cay0irmny5k87x4z834w07bpyvsbs9chygk9ch9kp8sw"))))- (build-system cmake-build-system)- (native-inputs- `(("doxygen" ,doxygen)- ("googletest" ,googletest)- ("graphviz" ,graphviz)- ("pkg-config" ,pkg-config)))- (inputs- `(("bind" ,isc-bind)- ("boost" ,boost)- ("zeromq" ,zeromq)- ("cppzmq" ,cppzmq)- ("expat" ,expat)- ("libsodium" ,libsodium)- ("libunwind" ,libunwind)- ("lmdb" ,lmdb)- ("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")- '())- "-DBUILD_GUI_DEPS=ON")- #:phases- (modify-phases %standard-phases- ;; tests/core_tests need a valid HOME- (add-before 'configure 'set-home- (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- (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\"))) / "))- #t))- (replace 'check- (lambda _- (invoke "make" "ARGS=-E 'unit_tests|libwallet_api_tests'"- "test")))- ;; The excluded unit tests need network access- (add-after 'check 'unit-tests- (lambda _- (let ((excluded-unit-tests- (string-join- '("AddressFromURL.Success"- "AddressFromURL.Failure"- "DNSResolver.IPv4Success"- "DNSResolver.DNSSECSuccess"- "DNSResolver.DNSSECFailure"- "DNSResolver.GetTXTRecord")- ":")))- (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)))))))- (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+ (let ((revision "0")+ (commit "40530b294e6074dffb0d3de25d0442d3b85467b8"))+ (package+ (name "monero")+ (version (string-append "0.12.3.0-" revision "."+ (string-take commit 7)))+ (source (origin+ (method git-fetch)+ (uri (git-reference+ (url "https://github.com/monero-project/monero")+ (commit commit)))+ (sha256+ (base32+ "01rksnlqy46nnc2zjqs1r0vzfn2n2ag25lar7c7iwhnmivbays61"))+ (patches (search-patches "monero-use-system-miniupnpc.patch"))+ (file-name (string-append name "-" version "-checkout"))))+ (build-system cmake-build-system)+ (native-inputs+ `(("doxygen" ,doxygen)+ ("googletest" ,googletest)+ ("graphviz" ,graphviz)+ ("pkg-config" ,pkg-config)))+ (inputs+ `(("bind" ,isc-bind)+ ("boost" ,boost)+ ("zeromq" ,zeromq)+ ("cppzmq" ,cppzmq)+ ("expat" ,expat)+ ("libsodium" ,libsodium)+ ("libunwind" ,libunwind)+ ("lmdb" ,lmdb)+ ("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")+ '())+ "-DBUILD_GUI_DEPS=ON")+ #:phases+ (modify-phases %standard-phases+ ;; tests/core_tests need a valid HOME+ (add-before 'configure 'set-home+ (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+ (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\"))) / "))+ #t))+ (replace 'check+ (lambda _+ (invoke "make" "ARGS=-E 'unit_tests|libwallet_api_tests'"+ "test")))+ ;; The excluded unit tests need network access+ (add-after 'check 'unit-tests+ (lambda _+ (let ((excluded-unit-tests+ (string-join+ '("AddressFromURL.Success"+ "AddressFromURL.Failure"+ "DNSResolver.IPv4Success"+ "DNSResolver.DNSSECSuccess"+ "DNSResolver.DNSSECFailure"+ "DNSResolver.GetTXTRecord")+ ":")))+ (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)))))))+ (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.")- (license license:bsd-3)))+ (license license:bsd-3)))) (define-public monero-core (package-- 2.16.2
T
T
Theodoros Foradis wrote on 8 Jul 2018 19:39
[PATCH v2 3/9] gnu: monero: Update to 0.12.3.0.
(address . 31531@debbugs.gnu.org)(name . Theodoros Foradis)(address . theodoros@foradis.org)
20180708173932.14807-3-theodoros@foradis.org
* gnu/packages/patches/monero-use-system-miniupnpc.patch: New file.* gnu/local.mk: Add it.* gnu/packages/finance.scm (monero): Update to 0.12.3.0.[source]: Add patch. Remove snippet because miniupnpc, rapidjsonand unbound are no longer bundled in-tree.[inputs]: Add zeromq, cppzmq, libsodium. Use monero-miniupnpc.[arguments]: Change build-type to "release".--- gnu/local.mk | 1 + gnu/packages/finance.scm | 22 ++-- .../patches/monero-use-system-miniupnpc.patch | 111 +++++++++++++++++++++ 3 files changed, 122 insertions(+), 12 deletions(-) create mode 100644 gnu/packages/patches/monero-use-system-miniupnpc.patch
Toggle diff (201 lines)diff --git a/gnu/local.mk b/gnu/local.mkindex dad664ca1..03e852f4c 100644--- a/gnu/local.mk+++ b/gnu/local.mk@@ -943,6 +943,7 @@ dist_patch_DATA = \ %D%/packages/patches/mingw-w64-5.0rc2-gcc-4.9.3.patch \ %D%/packages/patches/mpc123-initialize-ao.patch \ %D%/packages/patches/module-init-tools-moduledir.patch \+ %D%/packages/patches/monero-use-system-miniupnpc.patch \ %D%/packages/patches/mongodb-support-unknown-linux-distributions.patch \ %D%/packages/patches/mozjs17-aarch64-support.patch \ %D%/packages/patches/mozjs24-aarch64-support.patch \diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scmindex 26f4488ab..eaafd1523 100644--- a/gnu/packages/finance.scm+++ b/gnu/packages/finance.scm@@ -40,6 +40,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)@@ -52,6 +53,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)@@ -377,25 +379,17 @@ 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")) (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"))))+ "0wmz7g48cay0irmny5k87x4z834w07bpyvsbs9chygk9ch9kp8sw")))) (build-system cmake-build-system) (native-inputs `(("doxygen" ,doxygen)@@ -405,15 +399,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")diff --git a/gnu/packages/patches/monero-use-system-miniupnpc.patch b/gnu/packages/patches/monero-use-system-miniupnpc.patchnew file mode 100644index 000000000..6bc825d12--- /dev/null+++ b/gnu/packages/patches/monero-use-system-miniupnpc.patch@@ -0,0 +1,111 @@+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+--- 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()+ +-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()+ +-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()+ +-set(UPNP_LIBRARIES "libminiupnpc-static" PARENT_SCOPE)++ set(UPNP_STATIC true PARENT_SCOPE)++ set(UPNP_LIBRARIES "libminiupnpc-static" PARENT_SCOPE)++endif()+ + find_package(Unbound)+ +diff --git a/src/p2p/net_node.inl b/src/p2p/net_node.inl+index 9b21705e..76340a22 100644+--- a/src/p2p/net_node.inl++++ b/src/p2p/net_node.inl+@@ -49,9 +49,16 @@+ #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+ + #undef MONERO_DEFAULT_LOG_CATEGORY+ #define MONERO_DEFAULT_LOG_CATEGORY "net.p2p"+-- +2.16.2+-- 2.16.2
L
L
Ludovic Courtès wrote on 13 Jul 2018 17:29
Re: [bug#31531] [PATCH v2 1/9] gnu: Add cppzmq.
(name . Theodoros Foradis)(address . theodoros@foradis.org)(address . 31531@debbugs.gnu.org)
87a7qvf92m.fsf@gnu.org
Theodoros Foradis <theodoros@foradis.org> skribis:
Toggle quote (2 lines)> * gnu/packages/networking.scm (cppzmq): New variable.
I tweaked the synopsis and applied, thanks!
L
L
Ludovic Courtès wrote on 13 Jul 2018 17:30
Re: [bug#31531] [PATCH v2 2/9] gnu: Add monero-miniupnpc.
(name . Theodoros Foradis)(address . theodoros@foradis.org)(address . 31531@debbugs.gnu.org)
87601jf912.fsf@gnu.org
Theodoros Foradis <theodoros@foradis.org> skribis:
Toggle quote (2 lines)> * gnu/packages/finance.scm (monero-miniupnpc): New variable.
I applied this one but moved it to upnp.scm, to avoid cross-moduletop-level references (roughly, since monero-miniupnpc inheritsminiupnpc, it should be in the same file.)
Thanks,Ludo’.
L
L
Ludovic Courtès wrote on 13 Jul 2018 17:31
Re: [bug#31531] [PATCH v2 3/9] gnu: monero: Update to 0.12.3.0.
(name . Theodoros Foradis)(address . theodoros@foradis.org)(address . 31531@debbugs.gnu.org)
871sc7f8zs.fsf@gnu.org
Hi,
Theodoros Foradis <theodoros@foradis.org> skribis:
Toggle quote (8 lines)> * gnu/packages/patches/monero-use-system-miniupnpc.patch: New file.> * gnu/local.mk: Add it.> * gnu/packages/finance.scm (monero): Update to 0.12.3.0.> [source]: Add patch. Remove snippet because miniupnpc, rapidjson> and unbound are no longer bundled in-tree.> [inputs]: Add zeromq, cppzmq, libsodium. Use monero-miniupnpc.> [arguments]: Change build-type to "release".
I get a hash mismatch for this one:
Toggle snippet (13 lines)Starting download of /gnu/store/38bbddhym990lywra0j53iggic53qndd-monero-0.12.3.0.tar.gzFrom https://github.com/monero-project/monero/archive/v0.12.3.0.tar.gz...following redirection to `https://codeload.github.com/monero-project/monero/tar.gz/v0.12.3.0'... v0.12.3.0.tar.gz 5.2MiB/s 00:02 | 8.0MiB transferredsha256 hash mismatch for output path `/gnu/store/38bbddhym990lywra0j53iggic53qndd-monero-0.12.3.0.tar.gz' expected: 0wmz7g48cay0irmny5k87x4z834w07bpyvsbs9chygk9ch9kp8sw actual: 05a85k1vphizm111np86arpd0rnvr6qdwq37awsll24myr7s7aq6@ build-failed /gnu/store/nm8hl473pvd0agrrwj2rj724wv7z66pf-monero-0.12.3.0.tar.gz.drv - 1 sha256 hash mismatch for output path `/gnu/store/38bbddhym990lywra0j53iggic53qndd-monero-0.12.3.0.tar.gz' expected: 0wmz7g48cay0irmny5k87x4z834w07bpyvsbs9chygk9ch9kp8sw actual: 05a85k1vphizm111np86arpd0rnvr6qdwq37awsll24myr7s7aq6cannot build derivation `/gnu/store/51pdrvrawv6ad41gw05q99pclnc1dnk8-monero-0.12.3.0.tar.xz.drv': 1 dependencies couldn't be built
Could you check if anything’s wrong?
Thanks,Ludo’.
T
T
Theodoros Foradis wrote on 15 Jul 2018 13:34
(name . Ludovic Courtès)(address . ludo@gnu.org)
87bmb8ybp4.fsf@foradis.org
Hi,
Ludovic Courtès writes:
Toggle quote (30 lines)> Hi,>> Theodoros Foradis <theodoros@foradis.org> skribis:>>> * gnu/packages/patches/monero-use-system-miniupnpc.patch: New file.>> * gnu/local.mk: Add it.>> * gnu/packages/finance.scm (monero): Update to 0.12.3.0.>> [source]: Add patch. Remove snippet because miniupnpc, rapidjson>> and unbound are no longer bundled in-tree.>> [inputs]: Add zeromq, cppzmq, libsodium. Use monero-miniupnpc.>> [arguments]: Change build-type to "release".>> I get a hash mismatch for this one:>> --8<---------------cut here---------------start------------->8---> Starting download of /gnu/store/38bbddhym990lywra0j53iggic53qndd-monero-0.12.3.0.tar.gz> From https://github.com/monero-project/monero/archive/v0.12.3.0.tar.gz...> following redirection to `https://codeload.github.com/monero-project/monero/tar.gz/v0.12.3.0'...> v0.12.3.0.tar.gz 5.2MiB/s 00:02 | 8.0MiB transferred> sha256 hash mismatch for output path `/gnu/store/38bbddhym990lywra0j53iggic53qndd-monero-0.12.3.0.tar.gz'> expected: 0wmz7g48cay0irmny5k87x4z834w07bpyvsbs9chygk9ch9kp8sw> actual: 05a85k1vphizm111np86arpd0rnvr6qdwq37awsll24myr7s7aq6> @ build-failed /gnu/store/nm8hl473pvd0agrrwj2rj724wv7z66pf-monero-0.12.3.0.tar.gz.drv - 1 sha256 hash mismatch for output path `/gnu/store/38bbddhym990lywra0j53iggic53qndd-monero-0.12.3.0.tar.gz'> expected: 0wmz7g48cay0irmny5k87x4z834w07bpyvsbs9chygk9ch9kp8sw> actual: 05a85k1vphizm111np86arpd0rnvr6qdwq37awsll24myr7s7aq6> cannot build derivation `/gnu/store/51pdrvrawv6ad41gw05q99pclnc1dnk8-monero-0.12.3.0.tar.xz.drv': 1 dependencies couldn't be built> --8<---------------cut here---------------end--------------->8--->> Could you check if anything’s wrong?
The auto-generated tarball changed, and this is why I added the laterpatch to use git-fetch. I forgot to update the hash prior to usinggit-fetch, because I only tested with all patches applied.
So, the actual hash shown here is correct, we can either fix it in thispatch, or ignore it because it gets fixed in patch 7/9 anyway.
-- Theodoros Foradis
L
L
Ludovic Courtès wrote on 16 Jul 2018 16:40
(name . Theodoros Foradis)(address . theodoros@foradis.org)(address . 31531@debbugs.gnu.org)
87bmb7utv7.fsf@gnu.org
Hello Theodoros,
Theodoros Foradis <theodoros@foradis.org> skribis:
Toggle quote (2 lines)> Ludovic Courtès writes:
[...]
Toggle quote (25 lines)>> I get a hash mismatch for this one:>>>> --8<---------------cut here---------------start------------->8--->> Starting download of /gnu/store/38bbddhym990lywra0j53iggic53qndd-monero-0.12.3.0.tar.gz>> From https://github.com/monero-project/monero/archive/v0.12.3.0.tar.gz...>> following redirection to `https://codeload.github.com/monero-project/monero/tar.gz/v0.12.3.0'...>> v0.12.3.0.tar.gz 5.2MiB/s 00:02 | 8.0MiB transferred>> sha256 hash mismatch for output path `/gnu/store/38bbddhym990lywra0j53iggic53qndd-monero-0.12.3.0.tar.gz'>> expected: 0wmz7g48cay0irmny5k87x4z834w07bpyvsbs9chygk9ch9kp8sw>> actual: 05a85k1vphizm111np86arpd0rnvr6qdwq37awsll24myr7s7aq6>> @ build-failed /gnu/store/nm8hl473pvd0agrrwj2rj724wv7z66pf-monero-0.12.3.0.tar.gz.drv - 1 sha256 hash mismatch for output path `/gnu/store/38bbddhym990lywra0j53iggic53qndd-monero-0.12.3.0.tar.gz'>> expected: 0wmz7g48cay0irmny5k87x4z834w07bpyvsbs9chygk9ch9kp8sw>> actual: 05a85k1vphizm111np86arpd0rnvr6qdwq37awsll24myr7s7aq6>> cannot build derivation `/gnu/store/51pdrvrawv6ad41gw05q99pclnc1dnk8-monero-0.12.3.0.tar.xz.drv': 1 dependencies couldn't be built>> --8<---------------cut here---------------end--------------->8--->>>> Could you check if anything’s wrong?>> The auto-generated tarball changed, and this is why I added the later> patch to use git-fetch. I forgot to update the hash prior to using> git-fetch, because I only tested with all patches applied.>> So, the actual hash shown here is correct, we can either fix it in this> patch, or ignore it because it gets fixed in patch 7/9 anyway.
Indeed. I sort-of merged both patches by applying this one:
Toggle diff (24 lines)diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scmindex 3d4185578..333fe6531 100644--- a/gnu/packages/finance.scm+++ b/gnu/packages/finance.scm@@ -372,14 +372,15 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch (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")) (patches (search-patches "monero-use-system-miniupnpc.patch")) (sha256 (base32- "0wmz7g48cay0irmny5k87x4z834w07bpyvsbs9chygk9ch9kp8sw"))))+ "14db9kgjm2ha93c2x5fjdw01xaqshn756qr3x2cnzyyjh7caz5qd")))) (build-system cmake-build-system) (native-inputs `(("doxygen" ,doxygen)
Note that in general we should arrange for each commit to produce aworking state.
Thanks,Ludo’.
L
L
Ludovic Courtès wrote on 16 Jul 2018 16:52
Re: [bug#31531] [PATCH v2 9/9] gnu: monero-core: Rename package to "monero-gui".
(name . Theodoros Foradis)(address . theodoros@foradis.org)(address . 31531-done@debbugs.gnu.org)
877elvuta9.fsf@gnu.org
Hello,
I merged the remained of the patch series. I merged the ‘git-fetch’patch of ‘monero-core’ with the updated, and I declared “monero-core” adeprecated package name for “monero-gui”.
We’re done now. Thank you!
Ludo’.
Closed
?
Your comment

This issue is archived.

To comment on this conversation send email to 31531@debbugs.gnu.org