From 516ed4e153c2e515dd68b81af5cdfbe5a425e463 Mon Sep 17 00:00:00 2001 From: Bertrand Jacquin Date: Thu, 21 May 2020 22:09:27 +0100 Subject: net-p2p/monero: version bump Package-Manager: Portage-2.3.99, Repoman-2.3.22 --- net-p2p/monero/Manifest | 2 + .../0.16.0.0-Do-not-install-trezor-dep-libs.patch | 25 +++++ .../files/0.16.0.0-Drop-in-tree-miniupnpc.patch | 57 ++++++++++ .../0.16.0.0-Use-gentoo-dev-libs-randomx.patch | 18 ++++ .../files/0.16.0.0-Use-gentoo-versioning.patch | 37 +++++++ ...ceware.org-bugzilla-show_bug.cgi-id-25210.patch | 46 ++++++++ .../0.16.0.0-translations-use-host-compiler.patch | 30 ++++++ net-p2p/monero/monero-0.16.0.0.ebuild | 117 +++++++++++++++++++++ 8 files changed, 332 insertions(+) create mode 100644 net-p2p/monero/files/0.16.0.0-Do-not-install-trezor-dep-libs.patch create mode 100644 net-p2p/monero/files/0.16.0.0-Drop-in-tree-miniupnpc.patch create mode 100644 net-p2p/monero/files/0.16.0.0-Use-gentoo-dev-libs-randomx.patch create mode 100644 net-p2p/monero/files/0.16.0.0-Use-gentoo-versioning.patch create mode 100644 net-p2p/monero/files/0.16.0.0-https-sourceware.org-bugzilla-show_bug.cgi-id-25210.patch create mode 100644 net-p2p/monero/files/0.16.0.0-translations-use-host-compiler.patch create mode 100644 net-p2p/monero/monero-0.16.0.0.ebuild diff --git a/net-p2p/monero/Manifest b/net-p2p/monero/Manifest index 722a2f98..70fc2d24 100644 --- a/net-p2p/monero/Manifest +++ b/net-p2p/monero/Manifest @@ -1,2 +1,4 @@ DIST monero-0.15.0.5.tar.gz 10396703 BLAKE2B d8bfd9b7f229f91dd2c292ccad028977bdc4c5a7494e1e1c492d576013219be1e579a37eb0c2b4bc466fc1715bdc5299e0c8ec84f9856056b22e9095de9df081 SHA512 3156d1c000a5aea66e7c8503f4d0d424444e609145f4f182b0ba2841685bb4673c711b588066bad87b5e73f498b8c774636e084d20e47989bc1b215c1ca15a27 +DIST monero-0.16.0.0.tar.gz 10510191 BLAKE2B 859dd271ecff86aa15888ec4452d9372ab43d2b72530f3180ac4ec2f04c40412586d708403c9172d27a8fa330636d5ca65316cd3173b988a28751b5f16dfd271 SHA512 a81e9c8b7bd6679bb84970831713dae047e1df74a690cdf9b122d6722e6b1920c27e65061d42aaa33d93d6fb52bca0a91572f758c359df049e722023ff9be5a4 DIST trezor-common-31a0073c62738827b48d725facd3766879429124.tar.gz 1329234 BLAKE2B 1d02969183c7df068797649e0f4a68887dae3ff673a488ad96a33753a3c3cdfa2f210f5d6f895a8bcc3c2498e6c77a62f890bd6dea795b04d23cda2d7050ad09 SHA512 dbea8e80809046cd620ae4ad90cb4c715c07f614b29735ebd6cc8347d721f130e2f9c01c7f3a311d5f5e2a731c29821402a1fa9e027c710e594a1c6dccd5273e +DIST trezor-common-cb901ba43c753d070f0310d858765c9f21cd7d8b.tar.gz 1306166 BLAKE2B 1290bac0da11b133bfb87738f79f9b54f3247378a3adc003bfa0b5a31b32e84b84fd872eaa6bda4c095aed9c7ea87fb897c0d95f117c8c81d072257f61e38929 SHA512 dd5c57c9226b0530b6f0df942577afc8d64e7811b06baca0f2c79c2d9c165f2aaf2e9bcfefcd2c5972cf7aa375e90ed48e7570178295213f85805a4d9947b945 diff --git a/net-p2p/monero/files/0.16.0.0-Do-not-install-trezor-dep-libs.patch b/net-p2p/monero/files/0.16.0.0-Do-not-install-trezor-dep-libs.patch new file mode 100644 index 00000000..d7aebe27 --- /dev/null +++ b/net-p2p/monero/files/0.16.0.0-Do-not-install-trezor-dep-libs.patch @@ -0,0 +1,25 @@ +From b5d4c4405a038e63c1cf1bd0f84e041ca35ed5bb Mon Sep 17 00:00:00 2001 +From: Bertrand Jacquin +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 a0a166a93bb9..64a10e8b913b 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.16.0.0-Drop-in-tree-miniupnpc.patch b/net-p2p/monero/files/0.16.0.0-Drop-in-tree-miniupnpc.patch new file mode 100644 index 00000000..73a1944f --- /dev/null +++ b/net-p2p/monero/files/0.16.0.0-Drop-in-tree-miniupnpc.patch @@ -0,0 +1,57 @@ +From 7b6c08d5dac6e4b42e81692e2d5297a213c75e04 Mon Sep 17 00:00:00 2001 +From: Bertrand Jacquin +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 71b165f4f166..072a26d19586 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 f8c177e3a99c..6ab425fd1d75 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 +-#include +-#include ++#include ++#include ++#include + + #undef MONERO_DEFAULT_LOG_CATEGORY + #define MONERO_DEFAULT_LOG_CATEGORY "net.p2p" diff --git a/net-p2p/monero/files/0.16.0.0-Use-gentoo-dev-libs-randomx.patch b/net-p2p/monero/files/0.16.0.0-Use-gentoo-dev-libs-randomx.patch new file mode 100644 index 00000000..598dcc88 --- /dev/null +++ b/net-p2p/monero/files/0.16.0.0-Use-gentoo-dev-libs-randomx.patch @@ -0,0 +1,18 @@ +From 0a8fea3234d80c7b7bc73f47181e1d72dea448ff Mon Sep 17 00:00:00 2001 +From: Bertrand Jacquin +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 072a26d19586..10189ce3a2fb 100644 +--- a/external/CMakeLists.txt ++++ b/external/CMakeLists.txt +@@ -70,4 +70,3 @@ endif() + + add_subdirectory(db_drivers) + add_subdirectory(easylogging++) +-add_subdirectory(randomx EXCLUDE_FROM_ALL) diff --git a/net-p2p/monero/files/0.16.0.0-Use-gentoo-versioning.patch b/net-p2p/monero/files/0.16.0.0-Use-gentoo-versioning.patch new file mode 100644 index 00000000..e4280f4e --- /dev/null +++ b/net-p2p/monero/files/0.16.0.0-Use-gentoo-versioning.patch @@ -0,0 +1,37 @@ +From 7e4e6cab0c98aa7fc1fa2ffd811885fd5e27ddba Mon Sep 17 00:00:00 2001 +From: Bertrand Jacquin +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 26c2e2a1d447..d595b8293e1b 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.16.0.0-https-sourceware.org-bugzilla-show_bug.cgi-id-25210.patch b/net-p2p/monero/files/0.16.0.0-https-sourceware.org-bugzilla-show_bug.cgi-id-25210.patch new file mode 100644 index 00000000..941f4745 --- /dev/null +++ b/net-p2p/monero/files/0.16.0.0-https-sourceware.org-bugzilla-show_bug.cgi-id-25210.patch @@ -0,0 +1,46 @@ +From c62ddad29e57e5c7c535e860bc58db503bfcd8b7 Mon Sep 17 00:00:00 2001 +From: Bertrand Jacquin +Date: Sat, 30 Nov 2019 03:25:11 +0000 +Subject: [PATCH] https://sourceware.org/bugzilla/show_bug.cgi?id=25210 + +--- + CMakeLists.txt | 19 ------------------- + 1 file changed, 19 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 882bc96c56a2..2cb9c040634d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -716,11 +716,6 @@ else() + CHECK_CXX_ACCEPTS_FLAG(-mfloat-abi=softfp CXX_ACCEPTS_MFLOAT_SOFTFP) + endif() + +- if(ARM8) +- CHECK_CXX_ACCEPTS_FLAG(-mfix-cortex-a53-835769 CXX_ACCEPTS_MFIX_CORTEX_A53_835769) +- CHECK_CXX_ACCEPTS_FLAG(-mfix-cortex-a53-843419 CXX_ACCEPTS_MFIX_CORTEX_A53_843419) +- endif() +- + if(ARM6) + message(STATUS "Selecting VFP for ARMv6") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mfpu=vfp") +@@ -757,20 +752,6 @@ else() + endif() + endif(ARM7) + +- if(ARM8) +- if(CXX_ACCEPTS_MFIX_CORTEX_A53_835769) +- message(STATUS "Enabling Cortex-A53 workaround 835769") +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mfix-cortex-a53-835769") +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mfix-cortex-a53-835769") +- endif() +- +- if(CXX_ACCEPTS_MFIX_CORTEX_A53_843419) +- message(STATUS "Enabling Cortex-A53 workaround 843419") +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mfix-cortex-a53-843419") +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mfix-cortex-a53-843419") +- endif() +- endif(ARM8) +- + endif(ARM) + + if(ANDROID AND NOT BUILD_GUI_DEPS STREQUAL "ON" OR IOS) diff --git a/net-p2p/monero/files/0.16.0.0-translations-use-host-compiler.patch b/net-p2p/monero/files/0.16.0.0-translations-use-host-compiler.patch new file mode 100644 index 00000000..1dd1af02 --- /dev/null +++ b/net-p2p/monero/files/0.16.0.0-translations-use-host-compiler.patch @@ -0,0 +1,30 @@ +From f5670abe068eb90650533ff64a354568ab47b84a Mon Sep 17 00:00:00 2001 +From: Bertrand Jacquin +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 d9ec866e49ec..882bc96c56a2 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -453,7 +453,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.16.0.0.ebuild b/net-p2p/monero/monero-0.16.0.0.ebuild new file mode 100644 index 00000000..75eefb83 --- /dev/null +++ b/net-p2p/monero/monero-0.16.0.0.ebuild @@ -0,0 +1,117 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python{3_6,3_7,3_8} ) +CMAKE_MAKEFILE_GENERATOR="emake" +inherit cmake-utils 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:= + dev-libs/protobuf:= + $(python_gen_cond_dep 'dev-python/protobuf-python:=[${PYTHON_MULTI_USEDEP}]') + ) + acct-user/monero + acct-group/monero" +DEPEND="${PYTHON_DEPS} + >=dev-util/cmake-2.8.7 + 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" + "${FILESDIR}/${PV}-https-sourceware.org-bugzilla-show_bug.cgi-id-25210.patch" +) + +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-utils_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)" + -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 + -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-utils_src_configure +} + +src_install() { + cmake-utils_src_install + + insinto /etc + doins utils/conf/monerod.conf + + newinitd "${FILESDIR}/monerod.initd" monerod + systemd_dounit utils/systemd/monerod.service +} -- cgit v1.2.3