From 970e9e82f243f105cba8482690326877e916499f Mon Sep 17 00:00:00 2001 From: swedebugia Date: Tue, 23 Apr 2019 07:56:08 +0200 Subject: [PATCH] gnu: monero: Update to 14.0.2 * gnu/packages/finance.scm (monero): Update to 14.0.2. * gnu/packages/finance.scm (monero)[source]: New snippet. [inputs]: Add hidapi. * gnu/packages/patches/monero-use-system-miniupnpc.patch: Deleted. * gnu/packages/upnp.scm(monero-miniupnpc): Update to 14.0.2. --- gnu/packages/finance.scm | 28 ++++- .../patches/monero-use-system-miniupnpc.patch | 111 ------------------ gnu/packages/upnp.scm | 8 +- 3 files changed, 29 insertions(+), 118 deletions(-) delete mode 100644 gnu/packages/patches/monero-use-system-miniupnpc.patch diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index bd30d466f..f629d59e7 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2018 Adriano Peluso ;;; Copyright © 2018, 2019 Nicolas Goaziou ;;; Copyright © 2018 Arun Isaac +;;; Copyright © 2019 swedebugia ;;; ;;; This file is part of GNU Guix. ;;; @@ -424,7 +425,7 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch ;; the system's dynamically linked library. (package (name "monero") - (version "0.12.3.0") + (version "0.14.0.2") (source (origin (method git-fetch) @@ -432,10 +433,29 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch (url "https://github.com/monero-project/monero") (commit (string-append "v" version)))) (file-name (git-file-name name version)) - (patches (search-patches "monero-use-system-miniupnpc.patch")) (sha256 (base32 - "14db9kgjm2ha93c2x5fjdw01xaqshn756qr3x2cnzyyjh7caz5qd")))) + "0n23axpng50ixk8s3r88c7kqcbvzs1f4avsg4i19klhy90qvn5lv")) + (modules '((guix build utils))) + (snippet + '(begin + ;; This makes sure we use and find our miniupnp + ;; Delete 2 empty folders + (for-each delete-file-recursively + '("external/miniupnp" "external/unbound")) + ;; Don't default to the in-tree miniupnp + (chmod "external/CMakeLists.txt" #o644) + (substitute* "external/CMakeLists.txt" + (("message\\(STATUS \"Using in-tree miniupnpc\"\\)") "") + (("add_subdirectory\\(miniupnp/miniupnpc\\)") "") + (("set_property\\(TARGET libminiupnpc-static.*") "") + (("set\\(UPNP_LIBRARIES \"libminiupnpc-static\" PARENT_SCOPE\\)") "")) + ;; Fix paths to shared miniupnp + (substitute* "src/p2p/net_node.inl" + (("") "\"miniupnpc/miniupnpc.h\"") + (("") "\"miniupnpc/upnpcommands.h\"") + (("") "\"miniupnpc/upnperrors.h\"")) + #t)))) (build-system cmake-build-system) (native-inputs `(("doxygen" ,doxygen) @@ -443,11 +463,13 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch ("graphviz" ,graphviz) ("pkg-config" ,pkg-config))) (inputs + ;; TODO add readline support `(("bind" ,isc-bind) ("boost" ,boost) ("zeromq" ,zeromq) ("cppzmq" ,cppzmq) ("expat" ,expat) + ("hidapi" ,hidapi) ("libsodium" ,libsodium) ("libunwind" ,libunwind) ("lmdb" ,lmdb) diff --git a/gnu/packages/patches/monero-use-system-miniupnpc.patch b/gnu/packages/patches/monero-use-system-miniupnpc.patch deleted file mode 100644 index 6bc825d12..000000000 --- a/gnu/packages/patches/monero-use-system-miniupnpc.patch +++ /dev/null @@ -1,111 +0,0 @@ -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 --#include --#include -+// We have to look for miniupnpc headers in different places, dependent on if its compiled or external -+#ifdef UPNP_STATIC -+ #include -+ #include -+ #include -+#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 - diff --git a/gnu/packages/upnp.scm b/gnu/packages/upnp.scm index 3f3d80f57..2d3fb4ad5 100644 --- a/gnu/packages/upnp.scm +++ b/gnu/packages/upnp.scm @@ -84,12 +84,12 @@ over IRC, instant messaging, network games, and most server software.") ;; 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")) + (let ((revision "1") + (commit "27d34098a331e4468a02adf65108bf74cae39ed7")) (package (inherit miniupnpc) (name "miniupnpc-monero") - (version (string-append "2.1-monero-0.12.3.0-" revision "." + (version (string-append "2.1-monero-0.14.0.2-" revision "." (string-take commit 7))) (source (origin (method git-fetch) @@ -98,7 +98,7 @@ over IRC, instant messaging, network games, and most server software.") (commit commit))) (sha256 (base32 - "0s67zcz978iapjlq30yy9dl8qda9xhrl3jdi5f99cnbglh5gy16a")) + "1gwnxmkcwp1za4996ycwylawyysqwcmdcskk33hfripg4pd9nv97")) (file-name (string-append name "-" version "-checkout")) (modules '((guix build utils))) (snippet -- 2.19.2