summaryrefslogtreecommitdiff
path: root/net-p2p/monero
diff options
context:
space:
mode:
authorBertrand Jacquin <bertrand@jacquin.bzh>2020-09-26 13:56:29 +0100
committerBertrand Jacquin <bertrand@jacquin.bzh>2020-10-18 01:18:59 +0100
commit36ba7f47d6fee9f5eb992eadeaf59907f0100ced (patch)
treea5fd8e4d2e2bfaf0cc28e4b842ab50918e993a77 /net-p2p/monero
parentprofiles/server: bump net-p2p/xmr-stak-rx (diff)
downloadportage-36ba7f47d6fee9f5eb992eadeaf59907f0100ced.tar.xz
net-p2p/monero: version bump
Package-Manager: Portage-3.0.4, Repoman-3.0.1
Diffstat (limited to 'net-p2p/monero')
-rw-r--r--net-p2p/monero/Manifest1
-rw-r--r--net-p2p/monero/files/0.17.0.0-Do-not-install-trezor-dep-libs.patch25
-rw-r--r--net-p2p/monero/files/0.17.0.0-Drop-in-tree-miniupnpc.patch57
-rw-r--r--net-p2p/monero/files/0.17.0.0-Use-gentoo-dev-libs-randomx.patch18
-rw-r--r--net-p2p/monero/files/0.17.0.0-Use-gentoo-versioning.patch37
-rw-r--r--net-p2p/monero/files/0.17.0.0-translations-use-host-compiler.patch30
-rw-r--r--net-p2p/monero/monero-0.17.0.0.ebuild120
7 files changed, 288 insertions, 0 deletions
diff --git a/net-p2p/monero/Manifest b/net-p2p/monero/Manifest
index 9114617e..bf3b9226 100644
--- a/net-p2p/monero/Manifest
+++ b/net-p2p/monero/Manifest
@@ -1,2 +1,3 @@
DIST monero-0.16.0.3.tar.gz 10519009 BLAKE2B d972ca284b6150e467fe83f4da975308c31d2b66c4a322d228aad08e725c9d70947d82971852bbea3483bb371b7213417adde444f2a8222b3aa42639b8069cbb SHA512 146ceb9f27a03478364395e29022e319596d3ada66b4f48b57063e64dee31d8f7abd1a0502947d34d0e7ff2e3e1a5a1e49466a67bb08a22ed993d7e5afe94f3d
+DIST monero-0.17.0.0.tar.gz 10583689 BLAKE2B 249030267da02a7cfca066d3aec9425c302706b7f28aee4a35f9a269917b63743a1c347fa5ba79d421915ec4a34052001c0fd263ca210f49b412c65650875adc SHA512 1c5578699a4b1dd2ab96b40539b408f2f756d34e5eb0c5dfc2cb3c29bfeca3025d69786b317b8b0d06783cd98354b964e209d58d8011d945dafbccfb603e294b
DIST trezor-common-cb901ba43c753d070f0310d858765c9f21cd7d8b.tar.gz 1306166 BLAKE2B 1290bac0da11b133bfb87738f79f9b54f3247378a3adc003bfa0b5a31b32e84b84fd872eaa6bda4c095aed9c7ea87fb897c0d95f117c8c81d072257f61e38929 SHA512 dd5c57c9226b0530b6f0df942577afc8d64e7811b06baca0f2c79c2d9c165f2aaf2e9bcfefcd2c5972cf7aa375e90ed48e7570178295213f85805a4d9947b945
diff --git a/net-p2p/monero/files/0.17.0.0-Do-not-install-trezor-dep-libs.patch b/net-p2p/monero/files/0.17.0.0-Do-not-install-trezor-dep-libs.patch
new file mode 100644
index 00000000..801c375a
--- /dev/null
+++ b/net-p2p/monero/files/0.17.0.0-Do-not-install-trezor-dep-libs.patch
@@ -0,0 +1,25 @@
+From 14aecf88d701518399af041889d4ad53f85a9cbc 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 bf238ae37887..0cfb534ed4fe 100644
+--- a/src/wallet/CMakeLists.txt
++++ b/src/wallet/CMakeLists.txt
+@@ -149,11 +149,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.17.0.0-Drop-in-tree-miniupnpc.patch b/net-p2p/monero/files/0.17.0.0-Drop-in-tree-miniupnpc.patch
new file mode 100644
index 00000000..cbb3a7f9
--- /dev/null
+++ b/net-p2p/monero/files/0.17.0.0-Drop-in-tree-miniupnpc.patch
@@ -0,0 +1,57 @@
+From d4f31b840cf82c0d055a12df838544255f25ba26 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 a8916a7d00d4..1db18e2431e6 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 175741146098..088b582f788a 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.17.0.0-Use-gentoo-dev-libs-randomx.patch b/net-p2p/monero/files/0.17.0.0-Use-gentoo-dev-libs-randomx.patch
new file mode 100644
index 00000000..f6540042
--- /dev/null
+++ b/net-p2p/monero/files/0.17.0.0-Use-gentoo-dev-libs-randomx.patch
@@ -0,0 +1,18 @@
+From e0bf6d9ff80418cf9b024f2a27a0f65ef40bc82c Mon Sep 17 00:00:00 2001
+From: Bertrand Jacquin <bertrand@jacquin.bzh>
+Date: Wed, 6 Nov 2019 01:23:52 +0000
+Subject: [PATCH] Use gentoo dev-libs/randomx
+
+---
+ external/CMakeLists.txt | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt
+index 1db18e2431e6..567a2fc1ebb6 100644
+--- a/external/CMakeLists.txt
++++ b/external/CMakeLists.txt
+@@ -71,4 +71,3 @@ endif()
+ add_subdirectory(db_drivers)
+ add_subdirectory(easylogging++)
+ add_subdirectory(qrcodegen)
+-add_subdirectory(randomx EXCLUDE_FROM_ALL)
diff --git a/net-p2p/monero/files/0.17.0.0-Use-gentoo-versioning.patch b/net-p2p/monero/files/0.17.0.0-Use-gentoo-versioning.patch
new file mode 100644
index 00000000..bfb6896a
--- /dev/null
+++ b/net-p2p/monero/files/0.17.0.0-Use-gentoo-versioning.patch
@@ -0,0 +1,37 @@
+From aabcbb13533d27eadf38991de0071ca489f1b299 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 | 18 +++---------------
+ 1 file changed, 3 insertions(+), 15 deletions(-)
+
+diff --git a/cmake/Version.cmake b/cmake/Version.cmake
+index a6c13ab6ca86..8d0fe9147622 100644
+--- a/cmake/Version.cmake
++++ b/cmake/Version.cmake
+@@ -31,20 +31,8 @@ function (write_version tag)
+ 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.
+- set(VERSION_IS_RELEASE "true")
+- write_version("release")
+-elseif (GIT_FOUND OR Git_FOUND)
+- message(STATUS "Found Git: ${GIT_EXECUTABLE}")
+- include(GitVersion)
+- get_version_tag_from_git("${GIT_EXECUTABLE}")
+- write_version("${VERSIONTAG}")
+-else()
+- message(STATUS "WARNING: Git was not found!")
+- set(VERSION_IS_RELEASE "false")
+- write_version("unknown")
+-endif ()
++set(VERSION_IS_RELEASE "true")
++write_version("release")
++
+ add_custom_target(genversion ALL
+ DEPENDS "${CMAKE_BINARY_DIR}/version.cpp")
diff --git a/net-p2p/monero/files/0.17.0.0-translations-use-host-compiler.patch b/net-p2p/monero/files/0.17.0.0-translations-use-host-compiler.patch
new file mode 100644
index 00000000..b3ae7d7d
--- /dev/null
+++ b/net-p2p/monero/files/0.17.0.0-translations-use-host-compiler.patch
@@ -0,0 +1,30 @@
+From 076e09cffce6c184ea75d4a3e7db61102215e52e Mon Sep 17 00:00:00 2001
+From: Bertrand Jacquin <bertrand@jacquin.bzh>
+Date: Sat, 30 Nov 2019 02:09:14 +0000
+Subject: [PATCH] translations: use host compiler
+
+Do not pass target compiler and compiler flags as
+generate_translations_header need to be created using host compiler and
+compiler flags
+---
+ CMakeLists.txt | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 2a16e00817e6..0eb2a5089248 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -468,7 +468,12 @@ ExternalProject_Add(generate_translations_header
+ SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/translations"
+ BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/translations"
+ STAMP_DIR ${LRELEASE_PATH}
+- CMAKE_ARGS -DLRELEASE_PATH=${LRELEASE_PATH}
++ CMAKE_ARGS
++ -DCMAKE_C_COMPILER=$ENV{BUILD_CC}
++ -DCMAKE_CXX_COMPILER=$ENV{BUILD_CXX}
++ -DCMAKE_C_FLAGS=$ENV{BUILD_CFLAGS}
++ -DCMAKE_CXX_FLAGS=$ENV{BUILD_CXXFLAGS}
++ -DLRELEASE_PATH=${LRELEASE_PATH}
+ INSTALL_COMMAND cmake -E echo "")
+ include_directories("${CMAKE_CURRENT_BINARY_DIR}/translations")
+ add_subdirectory(external)
diff --git a/net-p2p/monero/monero-0.17.0.0.ebuild b/net-p2p/monero/monero-0.17.0.0.ebuild
new file mode 100644
index 00000000..edad098b
--- /dev/null
+++ b/net-p2p/monero/monero-0.17.0.0.ebuild
@@ -0,0 +1,120 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python{3_7,3_8,3_9} )
+CMAKE_MAKEFILE_GENERATOR="emake"
+inherit cmake flag-o-matic toolchain-funcs python-single-r1 systemd
+
+DESCRIPTION="Secure, private, untraceable cryptocurrency"
+HOMEPAGE="https://getmonero.org"
+
+TREZOR_COMMON_COMMIT="cb901ba43c753d070f0310d858765c9f21cd7d8b"
+
+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"
+CPU_FLAGS="cpu_flags_arm_aes cpu_flags_x86_aes"
+IUSE="doc qt5 nls readline smartcard unwind ${CPU_FLAGS}"
+
+RDEPEND="net-dns/unbound:=[threads]
+ >=dev-libs/randomx-1.1.6:=
+ net-libs/miniupnpc:=
+ dev-libs/openssl:0
+ >=dev-libs/boost-1.62:=[icu,threads,nls]
+ net-libs/zeromq:=[sodium]
+ dev-libs/rapidjson:=
+ readline? ( sys-libs/readline:= )
+ unwind? ( sys-libs/libunwind[lzma] )
+ smartcard? (
+ dev-libs/hidapi:=
+ virtual/libusb:=
+ virtual/libudev:=
+ dev-libs/protobuf:=
+ $(python_gen_cond_dep 'dev-python/protobuf-python:=[${PYTHON_MULTI_USEDEP}]')
+ )
+ acct-user/monero
+ acct-group/monero"
+DEPEND="${PYTHON_DEPS}
+ doc? (
+ media-gfx/graphviz
+ app-doc/doxygen:0
+ )
+ nls? ( dev-qt/qtchooser )
+ ${RDEPEND}"
+PDEPEND="qt5? ( net-p2p/monero-gui )"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+PATCHES=(
+ "${FILESDIR}/${PV}-Drop-in-tree-miniupnpc.patch"
+ "${FILESDIR}/${PV}-Use-gentoo-versioning.patch"
+ "${FILESDIR}/${PV}-Do-not-install-trezor-dep-libs.patch"
+ "${FILESDIR}/${PV}-Use-gentoo-dev-libs-randomx.patch"
+ "${FILESDIR}/${PV}-translations-use-host-compiler.patch"
+)
+
+QA_MULTILIB_PATHS="usr/lib/.*"
+
+CMAKE_BUILD_TYPE=Release
+
+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_prepare() {
+ cmake_src_prepare
+
+ append-cflags -DUSE_EXTRA_EC_CERT
+ append-cxxflags -DUSE_EXTRA_EC_CERT
+ tc-export_build_env BUILD_C{C,XX}
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TAG="$(tc-arch)"
+ -DUSE_CCACHE=OFF
+ -DPYTHON_EXECUTABLE="${PYTHON}"
+ -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
+ -DBUILD_SHARED_LIBS=OFF
+ -DMANUAL_SUBMODULES=ON
+ )
+
+ if use cpu_flags_arm_aes || use cpu_flags_x86_aes ; then
+ mycmakeargs+=( -DNO_AES=OFF )
+ else
+ mycmakeargs+=( -DNO_AES=ON )
+ fi
+
+ export DATABASE="lmdb"
+ export DEVELOPER_LOCAL_TOOLS=0
+ export DEVELOPER_LIBUNBOUND_OLD=0
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ insinto /etc
+ doins utils/conf/monerod.conf
+
+ newinitd "${FILESDIR}/monerod.initd" monerod
+ systemd_dounit utils/systemd/monerod.service
+}