Package: guix-patches;
Reported by: Theodoros Foradis <theodoros <at> foradis.org>
Date: Sat, 19 May 2018 18:51:02 UTC
Severity: normal
Tags: moreinfo
Done: ludo <at> gnu.org (Ludovic Courtès)
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 31531 in the body.
You can then email your comments to 31531 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
guix-patches <at> gnu.org
:bug#31531
; Package guix-patches
.
(Sat, 19 May 2018 18:51:02 GMT) Full text and rfc822 format available.Theodoros Foradis <theodoros <at> foradis.org>
:guix-patches <at> gnu.org
.
(Sat, 19 May 2018 18:51:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Theodoros Foradis <theodoros <at> foradis.org> To: guix-patches <at> gnu.org Subject: Update monero to 0.12.0.0. Date: Sat, 19 May 2018 21:50:34 +0300
This patch series updates monero and monero-core to 0.12.0.0 and adds cppzmq 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
guix-patches <at> gnu.org
:bug#31531
; Package guix-patches
.
(Sat, 19 May 2018 18:56:02 GMT) Full text and rfc822 format available.Message #8 received at 31531 <at> debbugs.gnu.org (full text, mbox):
From: Theodoros Foradis <theodoros <at> foradis.org> To: 31531 <at> debbugs.gnu.org Cc: Theodoros Foradis <theodoros <at> foradis.org> Subject: [PATCH 1/3] gnu: Add cppzmq. Date: Sat, 19 May 2018 21:54:35 +0300
* gnu/packages/networking.scm (cppzmq): New variable. --- gnu/packages/networking.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index eda2984d1..24cd31310 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -20,6 +20,7 @@ ;;; Copyright © 2017 Thomas Danckaert <post <at> thomasdanckaert.be> ;;; Copyright © 2018 Adam Van Ymeren <adam <at> vany.ca> ;;; Copyright © 2018 Fis Trivial <ybbs.daans <at> hotmail.com> +;;; Copyright © 2018 Theodoros Foradis <theodoros <at> 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
guix-patches <at> gnu.org
:bug#31531
; Package guix-patches
.
(Sat, 19 May 2018 18:56:02 GMT) Full text and rfc822 format available.Message #11 received at 31531 <at> debbugs.gnu.org (full text, mbox):
From: Theodoros Foradis <theodoros <at> foradis.org> To: 31531 <at> debbugs.gnu.org Cc: Theodoros Foradis <theodoros <at> foradis.org> Subject: [PATCH 2/3] gnu: monero: Update to 0.12.0.0. Date: Sat, 19 May 2018 21:54:36 +0300
* 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 diff --git a/gnu/local.mk b/gnu/local.mk index 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.scm index c93f64193..9f18d79ac 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2016 Alex Griffin <a <at> ajgrf.com> ;;; Copyright © 2016 Hartmut Goebel <h.goebel <at> crazy-compilers.com> ;;; Copyright © 2017 Carlo Zancanaro <carlo <at> zancanaro.id.au> -;;; Copyright © 2017 Theodoros Foradis <theodoros <at> foradis.org> +;;; Copyright © 2017,2018 Theodoros Foradis <theodoros <at> foradis.org> ;;; Copyright © 2017 Vasile Dumitrascu <va511e <at> yahoo.com> ;;; Copyright © 2017 Tobias Geerinckx-Rice <me <at> tobias.gr> ;;; Copyright © 2018 Eric Bavier <bavier <at> 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.patch new file mode 100644 index 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
guix-patches <at> gnu.org
:bug#31531
; Package guix-patches
.
(Sat, 19 May 2018 18:56:03 GMT) Full text and rfc822 format available.Message #14 received at 31531 <at> debbugs.gnu.org (full text, mbox):
From: Theodoros Foradis <theodoros <at> foradis.org> To: 31531 <at> debbugs.gnu.org Cc: Theodoros Foradis <theodoros <at> foradis.org> Subject: [PATCH 3/3] gnu: monero-core: Update to 0.12.0.0. Date: Sat, 19 May 2018 21:54:37 +0300
* 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(-) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 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
guix-patches <at> gnu.org
:bug#31531
; Package guix-patches
.
(Mon, 21 May 2018 20:33:01 GMT) Full text and rfc822 format available.Message #17 received at 31531 <at> debbugs.gnu.org (full text, mbox):
From: Ricardo Wurmus <rekado <at> elephly.net> To: Theodoros Foradis <theodoros <at> foradis.org> Cc: 31531 <at> debbugs.gnu.org Subject: Re: [bug#31531] [PATCH 1/3] gnu: Add cppzmq. Date: Mon, 21 May 2018 22:31:48 +0200
Hi Theodoros, > * gnu/packages/networking.scm (cppzmq): New variable. Thanks for the patch! > +(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; they change over time. > + (build-system cmake-build-system) > + (arguments > + '(#:tests? #f)) ;; No tests. Please just use a single semicolon for end of line comments. You can move this expression on the previous line, because it is short. > + (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
guix-patches <at> gnu.org
:bug#31531
; Package guix-patches
.
(Mon, 21 May 2018 20:36:02 GMT) Full text and rfc822 format available.Message #20 received at 31531 <at> debbugs.gnu.org (full text, mbox):
From: Ricardo Wurmus <rekado <at> elephly.net> To: Theodoros Foradis <theodoros <at> foradis.org> Cc: 31531 <at> debbugs.gnu.org Subject: Re: [bug#31531] [PATCH 2/3] gnu: monero: Update to 0.12.0.0. Date: Mon, 21 May 2018 22:35:38 +0200
Hi Theodoros, > * 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 a build phase. > * 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. > -;;; Copyright © 2017 Theodoros Foradis <theodoros <at> foradis.org> > +;;; Copyright © 2017,2018 Theodoros Foradis <theodoros <at> foradis.org> Please add a space after the comma. > - (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? > + 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
guix-patches <at> gnu.org
:bug#31531
; Package guix-patches
.
(Mon, 21 May 2018 20:37:02 GMT) Full text and rfc822 format available.Message #23 received at 31531 <at> debbugs.gnu.org (full text, mbox):
From: Ricardo Wurmus <rekado <at> elephly.net> To: Theodoros Foradis <theodoros <at> foradis.org> Cc: 31531 <at> debbugs.gnu.org Subject: Re: [bug#31531] [PATCH 3/3] gnu: monero-core: Update to 0.12.0.0. Date: Mon, 21 May 2018 22:36:39 +0200
Hi Theodoros, > * 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
guix-patches <at> gnu.org
:bug#31531
; Package guix-patches
.
(Thu, 14 Jun 2018 20:22:01 GMT) Full text and rfc822 format available.Message #26 received at 31531 <at> debbugs.gnu.org (full text, mbox):
From: ludo <at> gnu.org (Ludovic Courtès) To: Theodoros Foradis <theodoros <at> foradis.org> Cc: Ricardo Wurmus <rekado <at> elephly.net>, 31531 <at> debbugs.gnu.org Subject: Re: [bug#31531] Update monero to 0.12.0.0. Date: Thu, 14 Jun 2018 22:21:15 +0200
Hello Theodoros, Theodoros Foradis <theodoros <at> foradis.org> skribis: > 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 very little is missing. Thank you! Ludo’.
Ricardo Wurmus <ricardo.wurmus <at> mdc-berlin.de>
to control <at> debbugs.gnu.org
.
(Thu, 21 Jun 2018 13:24:01 GMT) Full text and rfc822 format available.guix-patches <at> gnu.org
:bug#31531
; Package guix-patches
.
(Wed, 04 Jul 2018 16:37:01 GMT) Full text and rfc822 format available.Message #31 received at 31531 <at> debbugs.gnu.org (full text, mbox):
From: Theodoros Foradis <theodoros <at> foradis.org> To: Ludovic Courtès <ludo <at> gnu.org> Cc: Ricardo Wurmus <rekado <at> elephly.net>, Theodoros Foradis <theodoros <at> foradis.org>, 31531 <at> debbugs.gnu.org Subject: Re: [bug#31531] Update monero to 0.12.0.0. Date: Wed, 04 Jul 2018 19:36:10 +0300
Hello Ludovic, Ludovic Courtès writes: > 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 last weeks. I looked at Ricardo's comments, and I will prepare an updated patch series. Thanks for your patience. -- Theodoros Foradis
guix-patches <at> gnu.org
:bug#31531
; Package guix-patches
.
(Sun, 08 Jul 2018 17:37:01 GMT) Full text and rfc822 format available.Message #34 received at 31531 <at> debbugs.gnu.org (full text, mbox):
From: Theodoros Foradis <theodoros <at> foradis.org> To: Ricardo Wurmus <rekado <at> elephly.net> Cc: Theodoros Foradis <theodoros <at> foradis.org>, 31531 <at> debbugs.gnu.org Subject: Re: [bug#31531] [PATCH 1/3] gnu: Add cppzmq. Date: Sun, 08 Jul 2018 20:35:46 +0300
Hello Ricardo, > Could you please send a new patch? Sorry for taking so long to send the new patch. In the meantime, monero was updated to 0.12.3.0 with a major difference, that using the system's miniupnpc was disabled, and the project's own version of it (due to security issues upstream) was added as a git submodule. So, there were 3 options for us. Either build from git and use the git submodule, disregard the security issue (that the folks at #monero-dev on freenode advised against) and use our own miniupnpc, or use monero's miniupnpc. I opted for the third option, introducing a patch that reverts the git commit that does not allow to use external miniupnpc, as well as packaging monero-project's miniupnpc as a non-public package in finance.scm. Is this the correct way to do this? Also, I included a commit renaming monero-core to monero-gui, as the official project was renamed. Is this appropriate? The old url (using monero-core) still worked as it's an alias for monero-gui now, but I figured it would be better to rename nonetheless. Lastly, I changed both packages to use git-fetch, as the github auto-generated tarballs would change. What do you think? I reply to this mail with the updated patch series. -- Theodoros Foradis
guix-patches <at> gnu.org
:bug#31531
; Package guix-patches
.
(Sun, 08 Jul 2018 17:41:01 GMT) Full text and rfc822 format available.Message #37 received at 31531 <at> debbugs.gnu.org (full text, mbox):
From: Theodoros Foradis <theodoros <at> foradis.org> To: 31531 <at> debbugs.gnu.org Cc: Theodoros Foradis <theodoros <at> foradis.org> Subject: [PATCH v2 1/9] gnu: Add cppzmq. Date: Sun, 8 Jul 2018 20:39:24 +0300
* gnu/packages/networking.scm (cppzmq): New variable. --- gnu/packages/networking.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index b72a4734d..342f54c79 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -22,6 +22,7 @@ ;;; Copyright © 2018 Fis Trivial <ybbs.daans <at> hotmail.com> ;;; Copyright © 2018 Tonton <tonton <at> riseup.net> ;;; Copyright © 2018 Clément Lassieur <clement <at> lassieur.org> +;;; Copyright © 2018 Theodoros Foradis <theodoros <at> 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
guix-patches <at> gnu.org
:bug#31531
; Package guix-patches
.
(Sun, 08 Jul 2018 17:41:02 GMT) Full text and rfc822 format available.Message #40 received at 31531 <at> debbugs.gnu.org (full text, mbox):
From: Theodoros Foradis <theodoros <at> foradis.org> To: 31531 <at> debbugs.gnu.org Cc: Theodoros Foradis <theodoros <at> foradis.org> Subject: [PATCH v2 2/9] gnu: Add monero-miniupnpc. Date: Sun, 8 Jul 2018 20:39:25 +0300
* gnu/packages/finance.scm (monero-miniupnpc): New variable. --- gnu/packages/finance.scm | 43 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 55afa6217..26f4488ab 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2016 Alex Griffin <a <at> ajgrf.com> ;;; Copyright © 2016 Hartmut Goebel <h.goebel <at> crazy-compilers.com> ;;; Copyright © 2017 Carlo Zancanaro <carlo <at> zancanaro.id.au> -;;; Copyright © 2017 Theodoros Foradis <theodoros <at> foradis.org> +;;; Copyright © 2017, 2018 Theodoros Foradis <theodoros <at> foradis.org> ;;; Copyright © 2017 Vasile Dumitrascu <va511e <at> yahoo.com> ;;; Copyright © 2017 Tobias Geerinckx-Rice <me <at> tobias.gr> ;;; Copyright © 2018 Eric Bavier <bavier <at> 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
guix-patches <at> gnu.org
:bug#31531
; Package guix-patches
.
(Sun, 08 Jul 2018 17:41:03 GMT) Full text and rfc822 format available.Message #43 received at 31531 <at> debbugs.gnu.org (full text, mbox):
From: Theodoros Foradis <theodoros <at> foradis.org> To: 31531 <at> debbugs.gnu.org Cc: Theodoros Foradis <theodoros <at> foradis.org> Subject: [PATCH v2 5/9] gnu: monero-core: Update to 0.12.2.0. Date: Sun, 8 Jul 2018 20:39:28 +0300
* gnu/packages/finance.scm (monero-core): Update to 0.12.2.0. --- gnu/packages/finance.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 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
guix-patches <at> gnu.org
:bug#31531
; Package guix-patches
.
(Sun, 08 Jul 2018 17:41:03 GMT) Full text and rfc822 format available.Message #46 received at 31531 <at> debbugs.gnu.org (full text, mbox):
From: Theodoros Foradis <theodoros <at> foradis.org> To: 31531 <at> debbugs.gnu.org Cc: Theodoros Foradis <theodoros <at> foradis.org> Subject: [PATCH v2 6/9] gnu: monero-core: Return #t from phases. Date: Sun, 8 Jul 2018 20:39:29 +0300
* gnu/packages/engineering.scm (monero)[arguments]: Substitute invoke for system*. --- 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 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
guix-patches <at> gnu.org
:bug#31531
; Package guix-patches
.
(Sun, 08 Jul 2018 17:41:04 GMT) Full text and rfc822 format available.Message #49 received at 31531 <at> debbugs.gnu.org (full text, mbox):
From: Theodoros Foradis <theodoros <at> foradis.org> To: 31531 <at> debbugs.gnu.org Cc: Theodoros Foradis <theodoros <at> foradis.org> Subject: [PATCH v2 4/9] gnu: monero: Return #t from phases. Date: Sun, 8 Jul 2018 20:39:27 +0300
* gnu/packages/finance.scm (monero)[arguments]: Substitute invoke for system*. --- gnu/packages/finance.scm | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 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
guix-patches <at> gnu.org
:bug#31531
; Package guix-patches
.
(Sun, 08 Jul 2018 17:41:04 GMT) Full text and rfc822 format available.Message #52 received at 31531 <at> debbugs.gnu.org (full text, mbox):
From: Theodoros Foradis <theodoros <at> foradis.org> To: 31531 <at> debbugs.gnu.org Cc: Theodoros Foradis <theodoros <at> foradis.org> Subject: [PATCH v2 8/9] gnu: monero-core: Use git-fetch. Date: Sun, 8 Jul 2018 20:39:31 +0300
* gnu/packages/finance.scm (monero-core)[source]: Use git-fetch for deterministic hash. --- gnu/packages/finance.scm | 149 ++++++++++++++++++++++++----------------------- 1 file changed, 76 insertions(+), 73 deletions(-) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 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
guix-patches <at> gnu.org
:bug#31531
; Package guix-patches
.
(Sun, 08 Jul 2018 17:41:05 GMT) Full text and rfc822 format available.Message #55 received at 31531 <at> debbugs.gnu.org (full text, mbox):
From: Theodoros Foradis <theodoros <at> foradis.org> To: 31531 <at> debbugs.gnu.org Cc: Theodoros Foradis <theodoros <at> foradis.org> Subject: [PATCH v2 9/9] gnu: monero-core: Rename package to "monero-gui". Date: Sun, 8 Jul 2018 20:39:32 +0300
* 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(-) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 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
guix-patches <at> gnu.org
:bug#31531
; Package guix-patches
.
(Sun, 08 Jul 2018 17:41:05 GMT) Full text and rfc822 format available.Message #58 received at 31531 <at> debbugs.gnu.org (full text, mbox):
From: Theodoros Foradis <theodoros <at> foradis.org> To: 31531 <at> debbugs.gnu.org Cc: Theodoros Foradis <theodoros <at> foradis.org> Subject: [PATCH v2 7/9] gnu: monero: Use git-fetch. Date: Sun, 8 Jul 2018 20:39:30 +0300
* gnu/packages/finance.scm (monero)[source]: Use git-fetch for deterministic hash. --- gnu/packages/finance.scm | 183 ++++++++++++++++++++++++----------------------- 1 file changed, 93 insertions(+), 90 deletions(-) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 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
guix-patches <at> gnu.org
:bug#31531
; Package guix-patches
.
(Sun, 08 Jul 2018 17:41:06 GMT) Full text and rfc822 format available.Message #61 received at 31531 <at> debbugs.gnu.org (full text, mbox):
From: Theodoros Foradis <theodoros <at> foradis.org> To: 31531 <at> debbugs.gnu.org Cc: Theodoros Foradis <theodoros <at> foradis.org> Subject: [PATCH v2 3/9] gnu: monero: Update to 0.12.3.0. Date: Sun, 8 Jul 2018 20:39:26 +0300
* 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". --- 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 diff --git a/gnu/local.mk b/gnu/local.mk index 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.scm index 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.patch new file mode 100644 index 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
guix-patches <at> gnu.org
:bug#31531
; Package guix-patches
.
(Fri, 13 Jul 2018 15:30:02 GMT) Full text and rfc822 format available.Message #64 received at 31531 <at> debbugs.gnu.org (full text, mbox):
From: ludo <at> gnu.org (Ludovic Courtès) To: Theodoros Foradis <theodoros <at> foradis.org> Cc: 31531 <at> debbugs.gnu.org Subject: Re: [bug#31531] [PATCH v2 1/9] gnu: Add cppzmq. Date: Fri, 13 Jul 2018 17:29:21 +0200
Theodoros Foradis <theodoros <at> foradis.org> skribis: > * gnu/packages/networking.scm (cppzmq): New variable. I tweaked the synopsis and applied, thanks!
guix-patches <at> gnu.org
:bug#31531
; Package guix-patches
.
(Fri, 13 Jul 2018 15:31:02 GMT) Full text and rfc822 format available.Message #67 received at 31531 <at> debbugs.gnu.org (full text, mbox):
From: ludo <at> gnu.org (Ludovic Courtès) To: Theodoros Foradis <theodoros <at> foradis.org> Cc: 31531 <at> debbugs.gnu.org Subject: Re: [bug#31531] [PATCH v2 2/9] gnu: Add monero-miniupnpc. Date: Fri, 13 Jul 2018 17:30:17 +0200
Theodoros Foradis <theodoros <at> foradis.org> skribis: > * gnu/packages/finance.scm (monero-miniupnpc): New variable. I applied this one but moved it to upnp.scm, to avoid cross-module top-level references (roughly, since monero-miniupnpc inherits miniupnpc, it should be in the same file.) Thanks, Ludo’.
guix-patches <at> gnu.org
:bug#31531
; Package guix-patches
.
(Fri, 13 Jul 2018 15:32:01 GMT) Full text and rfc822 format available.Message #70 received at 31531 <at> debbugs.gnu.org (full text, mbox):
From: ludo <at> gnu.org (Ludovic Courtès) To: Theodoros Foradis <theodoros <at> foradis.org> Cc: 31531 <at> debbugs.gnu.org Subject: Re: [bug#31531] [PATCH v2 3/9] gnu: monero: Update to 0.12.3.0. Date: Fri, 13 Jul 2018 17:31:03 +0200
Hi, Theodoros Foradis <theodoros <at> 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? Thanks, Ludo’.
guix-patches <at> gnu.org
:bug#31531
; Package guix-patches
.
(Sun, 15 Jul 2018 16:22:02 GMT) Full text and rfc822 format available.Message #73 received at 31531 <at> debbugs.gnu.org (full text, mbox):
From: Theodoros Foradis <theodoros <at> foradis.org> To: Ludovic Courtès <ludo <at> gnu.org> Cc: Theodoros Foradis <theodoros <at> foradis.org>, 31531 <at> debbugs.gnu.org Subject: Re: [bug#31531] [PATCH v2 3/9] gnu: monero: Update to 0.12.3.0. Date: Sun, 15 Jul 2018 14:34:31 +0300
Hi, Ludovic Courtès writes: > Hi, > > Theodoros Foradis <theodoros <at> 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 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. -- Theodoros Foradis
guix-patches <at> gnu.org
:bug#31531
; Package guix-patches
.
(Mon, 16 Jul 2018 14:41:02 GMT) Full text and rfc822 format available.Message #76 received at 31531 <at> debbugs.gnu.org (full text, mbox):
From: ludo <at> gnu.org (Ludovic Courtès) To: Theodoros Foradis <theodoros <at> foradis.org> Cc: 31531 <at> debbugs.gnu.org Subject: Re: [bug#31531] [PATCH v2 3/9] gnu: monero: Update to 0.12.3.0. Date: Mon, 16 Jul 2018 16:40:12 +0200
[Message part 1 (text/plain, inline)]
Hello Theodoros, Theodoros Foradis <theodoros <at> foradis.org> skribis: > Ludovic Courtès writes: [...] >> 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:
[Message part 2 (text/x-patch, inline)]
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 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)
[Message part 3 (text/plain, inline)]
Note that in general we should arrange for each commit to produce a working state. Thanks, Ludo’.
ludo <at> gnu.org (Ludovic Courtès)
:Theodoros Foradis <theodoros <at> foradis.org>
:Message #81 received at 31531-done <at> debbugs.gnu.org (full text, mbox):
From: ludo <at> gnu.org (Ludovic Courtès) To: Theodoros Foradis <theodoros <at> foradis.org> Cc: 31531-done <at> debbugs.gnu.org Subject: Re: [bug#31531] [PATCH v2 9/9] gnu: monero-core: Rename package to "monero-gui". Date: Mon, 16 Jul 2018 16:52:46 +0200
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” a deprecated package name for “monero-gui”. We’re done now. Thank you! Ludo’.
Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Tue, 14 Aug 2018 11:24:06 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.