summaryrefslogtreecommitdiff
path: root/net-p2p/monero
diff options
context:
space:
mode:
Diffstat (limited to 'net-p2p/monero')
-rw-r--r--net-p2p/monero/Manifest2
-rw-r--r--net-p2p/monero/files/0.14.1.0-Do-not-install-trezor-dep-libs.patch25
-rw-r--r--net-p2p/monero/files/0.14.1.0-Drop-in-tree-miniupnpc.patch57
-rw-r--r--net-p2p/monero/files/0.14.1.0-Use-gentoo-versioning.patch38
-rw-r--r--net-p2p/monero/monero-0.14.1.0.ebuild95
5 files changed, 217 insertions, 0 deletions
diff --git a/net-p2p/monero/Manifest b/net-p2p/monero/Manifest
index a1a37e92..95c833ab 100644
--- a/net-p2p/monero/Manifest
+++ b/net-p2p/monero/Manifest
@@ -1 +1,3 @@
DIST monero-0.14.0.2.tar.gz 8659788 BLAKE2B a852608343ddc920725f5b9769d00b8cf5eef84d509a6de40ee8971a5f2741912cdcb7c0375a1233a6aae080618f634dd52e3ed1a1850755e15744b65e436bd9 SHA512 f58718f6ef182796dfe14153c5e8e476289804acc20ce63275e1ca82b1b160473864859dabe42269c20c59054f29dc2a355be24e95466ce78fea15678301b3f4
+DIST monero-0.14.1.0.tar.gz 9045812 BLAKE2B 6a743548f00460c07e31d667505c4d077d5349812536e5ed464e29d9758cf5429abc1fe16d4517cec5ad16505b0f40aad9f6642bb2912cf4671ce6c2a4de564c SHA512 59ec15a0d65536d464162a555172e1ac5bbe358af6ef008336877afaa695f2d048b7830e5f6097325373152df1e4a4e59b693d9f26497447a1845a28b8d74878
+DIST trezor-common-31a0073c62738827b48d725facd3766879429124.tar.gz 1329234 BLAKE2B 1d02969183c7df068797649e0f4a68887dae3ff673a488ad96a33753a3c3cdfa2f210f5d6f895a8bcc3c2498e6c77a62f890bd6dea795b04d23cda2d7050ad09 SHA512 dbea8e80809046cd620ae4ad90cb4c715c07f614b29735ebd6cc8347d721f130e2f9c01c7f3a311d5f5e2a731c29821402a1fa9e027c710e594a1c6dccd5273e
diff --git a/net-p2p/monero/files/0.14.1.0-Do-not-install-trezor-dep-libs.patch b/net-p2p/monero/files/0.14.1.0-Do-not-install-trezor-dep-libs.patch
new file mode 100644
index 00000000..9525a2f6
--- /dev/null
+++ b/net-p2p/monero/files/0.14.1.0-Do-not-install-trezor-dep-libs.patch
@@ -0,0 +1,25 @@
+From 29277ef1a899be4f71d97d3df0909b561299edb7 Mon Sep 17 00:00:00 2001
+From: Bertrand Jacquin <bertrand@jacquin.bzh>
+Date: Sat, 15 Jun 2019 00:57:09 +0100
+Subject: [PATCH] Do not install trezor dep libs
+
+---
+ src/wallet/CMakeLists.txt | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/src/wallet/CMakeLists.txt b/src/wallet/CMakeLists.txt
+index d0fc21f51175..6d8f5e4cb3a7 100644
+--- a/src/wallet/CMakeLists.txt
++++ b/src/wallet/CMakeLists.txt
+@@ -142,11 +142,7 @@ if (BUILD_GUI_DEPS)
+ install(TARGETS wallet_merged
+ ARCHIVE DESTINATION ${lib_folder})
+
+- install(FILES ${TREZOR_DEP_LIBS}
+- DESTINATION ${lib_folder})
+ file(WRITE "trezor_link_flags.txt" ${TREZOR_DEP_LINKER})
+- install(FILES "trezor_link_flags.txt"
+- DESTINATION ${lib_folder})
+ endif()
+
+ add_subdirectory(api)
diff --git a/net-p2p/monero/files/0.14.1.0-Drop-in-tree-miniupnpc.patch b/net-p2p/monero/files/0.14.1.0-Drop-in-tree-miniupnpc.patch
new file mode 100644
index 00000000..23fafa98
--- /dev/null
+++ b/net-p2p/monero/files/0.14.1.0-Drop-in-tree-miniupnpc.patch
@@ -0,0 +1,57 @@
+From defc40037d89c32c9763e660af1b5a9260f43867 Mon Sep 17 00:00:00 2001
+From: Bertrand Jacquin <bertrand@jacquin.bzh>
+Date: Sun, 17 Jun 2018 22:34:11 +0100
+Subject: [PATCH] Drop in-tree miniupnpc
+
+Since 6b8539803184 ("Build: update CMake and p2p for in-tree
+miniupnp"), a hard dependency is made on miniupnpc which is a git
+submodule not part of the archive available upstream.
+---
+ external/CMakeLists.txt | 16 +++-------------
+ src/p2p/net_node.inl | 6 +++---
+ 2 files changed, 6 insertions(+), 16 deletions(-)
+
+diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt
+index bc4344b34833..10189ce3a2fb 100644
+--- a/external/CMakeLists.txt
++++ b/external/CMakeLists.txt
+@@ -37,19 +37,9 @@
+
+ find_package(Miniupnpc REQUIRED)
+
+-message(STATUS "Using in-tree miniupnpc")
+-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 false PARENT_SCOPE)
++set(UPNP_INCLUDE ${MINIUPNP_INCLUDE_DIR} PARENT_SCOPE)
++set(UPNP_LIBRARIES ${MINIUPNP_LIBRARY} PARENT_SCOPE)
+
+ find_package(Unbound)
+
+diff --git a/src/p2p/net_node.inl b/src/p2p/net_node.inl
+index ba29d92c9144..e9f62ad1717b 100644
+--- a/src/p2p/net_node.inl
++++ b/src/p2p/net_node.inl
+@@ -60,9 +60,9 @@
+ #include "cryptonote_core/cryptonote_core.h"
+ #include "net/parse.h"
+
+-#include <miniupnp/miniupnpc/miniupnpc.h>
+-#include <miniupnp/miniupnpc/upnpcommands.h>
+-#include <miniupnp/miniupnpc/upnperrors.h>
++#include <miniupnpc/miniupnpc.h>
++#include <miniupnpc/upnpcommands.h>
++#include <miniupnpc/upnperrors.h>
+
+ #undef MONERO_DEFAULT_LOG_CATEGORY
+ #define MONERO_DEFAULT_LOG_CATEGORY "net.p2p"
diff --git a/net-p2p/monero/files/0.14.1.0-Use-gentoo-versioning.patch b/net-p2p/monero/files/0.14.1.0-Use-gentoo-versioning.patch
new file mode 100644
index 00000000..b1f11ec7
--- /dev/null
+++ b/net-p2p/monero/files/0.14.1.0-Use-gentoo-versioning.patch
@@ -0,0 +1,38 @@
+From 777b5fb5c1128b54a008b47bd637cb93fe1253b4 Mon Sep 17 00:00:00 2001
+From: Bertrand Jacquin <bertrand@jacquin.bzh>
+Date: Sat, 15 Jun 2019 00:15:54 +0100
+Subject: [PATCH] Use gentoo versioning
+
+---
+ cmake/Version.cmake | 19 ++-----------------
+ 1 file changed, 2 insertions(+), 17 deletions(-)
+
+diff --git a/cmake/Version.cmake b/cmake/Version.cmake
+index 632c1431c953..5aaa404b9f6f 100644
+--- a/cmake/Version.cmake
++++ b/cmake/Version.cmake
+@@ -31,22 +31,7 @@ function (write_static_version_header hash)
+ configure_file("${CMAKE_SOURCE_DIR}/src/version.cpp.in" "${CMAKE_BINARY_DIR}/version.cpp")
+ endfunction ()
+
+-find_package(Git QUIET)
+-if ("$Format:$" STREQUAL "")
+- # We're in a tarball; use hard-coded variables.
+- write_static_version_header("release")
+-elseif (GIT_FOUND OR Git_FOUND)
+- message(STATUS "Found Git: ${GIT_EXECUTABLE}")
+- add_custom_command(
+- OUTPUT "${CMAKE_BINARY_DIR}/version.cpp"
+- COMMAND "${CMAKE_COMMAND}"
+- "-D" "GIT=${GIT_EXECUTABLE}"
+- "-D" "TO=${CMAKE_BINARY_DIR}/version.cpp"
+- "-P" "cmake/GenVersion.cmake"
+- WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}")
+-else()
+- message(STATUS "WARNING: Git was not found!")
+- write_static_version_header("unknown")
+-endif ()
++write_static_version_header("release")
++
+ add_custom_target(genversion ALL
+ DEPENDS "${CMAKE_BINARY_DIR}/version.cpp")
diff --git a/net-p2p/monero/monero-0.14.1.0.ebuild b/net-p2p/monero/monero-0.14.1.0.ebuild
new file mode 100644
index 00000000..f56e3f23
--- /dev/null
+++ b/net-p2p/monero/monero-0.14.1.0.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python{3_6,3_7} )
+inherit cmake-utils user systemd python-r1
+
+DESCRIPTION="Secure, private, untraceable cryptocurrency"
+HOMEPAGE="https://getmonero.org"
+
+TREZOR_COMMON_COMMIT="31a0073c62738827b48d725facd3766879429124"
+SRC_URI="https://github.com/monero-project/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ smartcard? ( https://github.com/trezor/trezor-common/archive/${TREZOR_COMMON_COMMIT}.tar.gz -> trezor-common-${TREZOR_COMMON_COMMIT}.tar.gz )"
+
+LICENSE="NEWLIB"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="doc qt5 readline smartcard unwind"
+
+RDEPEND="dev-db/lmdb
+ net-dns/unbound:=[threads]
+ net-libs/miniupnpc:=
+ dev-libs/openssl:0
+ >=dev-libs/boost-1.62:=[threads,nls,icu]
+ net-libs/zeromq:=[sodium]
+ net-libs/cppzmq:=
+ dev-libs/rapidjson:=
+ net-libs/openpgm:=
+ readline? ( sys-libs/readline:= )
+ unwind? ( sys-libs/libunwind[lzma] )
+ smartcard? (
+ dev-libs/hidapi:=
+ virtual/libusb:=
+ dev-libs/protobuf:=
+ dev-python/protobuf-python:=[${PYTHON_USEDEP}]
+ )"
+DEPEND="${PYTHON_DEPS}
+ >=dev-util/cmake-3.5
+ doc? (
+ media-gfx/graphviz
+ app-doc/doxygen:0
+ )
+ ${RDEPEND}"
+PDEPEND="qt5? ( net-p2p/monero-gui )"
+
+PATCHES=(
+ "${FILESDIR}/${PV}-Drop-in-tree-miniupnpc.patch"
+ "${FILESDIR}/${PV}-Use-gentoo-versioning.patch"
+ "${FILESDIR}/${PV}-Do-not-install-trezor-dep-libs.patch"
+)
+
+CMAKE_BUILD_TYPE=Release
+
+pkg_setup() {
+ enewgroup monero
+ enewuser monero -1 -1 /var/lib/monero monero
+}
+
+src_unpack() {
+ default
+
+ if use smartcard ; then
+ unpack "trezor-common-${TREZOR_COMMON_COMMIT}.tar.gz"
+
+ rm -r "${S}/external/trezor-common" || die
+ mv "trezor-common-${TREZOR_COMMON_COMMIT}" "${S}/external/trezor-common" || die
+ fi
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_DOCUMENTATION="$(usex doc ON OFF)"
+ -DBUILD_TESTS=OFF
+ -DCOVERAGE=OFF
+ -DUSE_READLINE="$(usex readline ON OFF)"
+ -DBUILD_GUI_DEPS="$(usex qt5 ON OFF)"
+ -DINSTALL_VENDORED_LIBUNBOUND=OFF
+ -DMANUAL_SUBMODULES=ON
+ )
+
+ export DATABASE="lmdb"
+ export DEVELOPER_LOCAL_TOOLS=0
+ export DEVELOPER_LIBUNBOUND_OLD=0
+
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ insinto /etc
+ doins utils/conf/monerod.conf
+
+ systemd_dounit utils/systemd/monerod.service
+}