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