diff options
author | Bertrand Jacquin <bertrand@jacquin.bzh> | 2020-11-26 23:05:47 +0000 |
---|---|---|
committer | Bertrand Jacquin <bertrand@jacquin.bzh> | 2020-11-26 23:05:47 +0000 |
commit | b2c7f15adaf0b5223ded8cacf1f4a310992269a0 (patch) | |
tree | d79617f19048cc817062fe5bb0e75d6cf87af4e9 | |
parent | sys-kernel/stable-sources: version bump (diff) | |
download | portage-b2c7f15adaf0b5223ded8cacf1f4a310992269a0.tar.xz |
net-p2p/monero: version bump
Package-Manager: Portage-3.0.9, Repoman-3.0.2
Diffstat (limited to '')
8 files changed, 425 insertions, 0 deletions
diff --git a/net-p2p/monero/files/monero-0.17.1.5-Do-not-install-trezor-dep-libs.patch b/net-p2p/monero/files/monero-0.17.1.5-Do-not-install-trezor-dep-libs.patch new file mode 100644 index 00000000..9f00b14a --- /dev/null +++ b/net-p2p/monero/files/monero-0.17.1.5-Do-not-install-trezor-dep-libs.patch @@ -0,0 +1,25 @@ +From dcf248f63e8a932cd48d0c0941faa3b48c551011 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/monero-0.17.1.5-Drop-in-tree-miniupnpc.patch b/net-p2p/monero/files/monero-0.17.1.5-Drop-in-tree-miniupnpc.patch new file mode 100644 index 00000000..ee2b9b64 --- /dev/null +++ b/net-p2p/monero/files/monero-0.17.1.5-Drop-in-tree-miniupnpc.patch @@ -0,0 +1,57 @@ +From 05f4db1c0256cc12b7233208d62b8218ea98d14c 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 aa16e93d5939..9f51639edbdd 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/monero-0.17.1.5-Use-gentoo-dev-libs-randomx.patch b/net-p2p/monero/files/monero-0.17.1.5-Use-gentoo-dev-libs-randomx.patch new file mode 100644 index 00000000..a0c30347 --- /dev/null +++ b/net-p2p/monero/files/monero-0.17.1.5-Use-gentoo-dev-libs-randomx.patch @@ -0,0 +1,18 @@ +From 33f0cd8a1323f537fe8721e5021423aa716f9b3a 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/monero-0.17.1.5-Use-gentoo-versioning.patch b/net-p2p/monero/files/monero-0.17.1.5-Use-gentoo-versioning.patch new file mode 100644 index 00000000..9e8331d7 --- /dev/null +++ b/net-p2p/monero/files/monero-0.17.1.5-Use-gentoo-versioning.patch @@ -0,0 +1,37 @@ +From e9da57769285e9a8a73ae3509cb85fcbe5ff1b29 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 707d7263958a..e6386339d720 100644 +--- a/cmake/Version.cmake ++++ b/cmake/Version.cmake +@@ -31,20 +31,8 @@ function (write_version tag) + configure_file("${CMAKE_CURRENT_LIST_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/monero-0.17.1.5-translations-use-host-compiler.patch b/net-p2p/monero/files/monero-0.17.1.5-translations-use-host-compiler.patch new file mode 100644 index 00000000..ac9d7da8 --- /dev/null +++ b/net-p2p/monero/files/monero-0.17.1.5-translations-use-host-compiler.patch @@ -0,0 +1,30 @@ +From ea1400129fa76ea66acc48e2a2f3ca1acb64711e 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 41f82e26c2ec..63c6f2d4f5fa 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/files/monero-gui-0.17.1.5-cmake-remove-Werror.patch b/net-p2p/monero/files/monero-gui-0.17.1.5-cmake-remove-Werror.patch new file mode 100644 index 00000000..dda8dbed --- /dev/null +++ b/net-p2p/monero/files/monero-gui-0.17.1.5-cmake-remove-Werror.patch @@ -0,0 +1,23 @@ +From 162a8cadf4270306f216becf0ade15ad9acc7916 Mon Sep 17 00:00:00 2001 +From: Bertrand Jacquin <bertrand@jacquin.bzh> +Date: Sat, 17 Oct 2020 18:27:24 +0100 +Subject: [PATCH] cmake: remove Werror + +See: https://bugs.gentoo.org/show_bug.cgi?id=652650 +--- + CMakeLists.txt | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5ef6cbf1861f..8e45fdd66c99 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -453,8 +453,6 @@ if(APPLE) + endif() + + # warnings +-add_c_flag_if_supported(-Werror C_SECURITY_FLAGS) +-add_cxx_flag_if_supported(-Werror CXX_SECURITY_FLAGS) + add_c_flag_if_supported(-Wformat C_SECURITY_FLAGS) + add_cxx_flag_if_supported(-Wformat CXX_SECURITY_FLAGS) + add_c_flag_if_supported(-Wformat-security C_SECURITY_FLAGS) diff --git a/net-p2p/monero/files/monero-gui-0.17.1.5-cmake-use-gentoo-versioning.patch b/net-p2p/monero/files/monero-gui-0.17.1.5-cmake-use-gentoo-versioning.patch new file mode 100644 index 00000000..201f461f --- /dev/null +++ b/net-p2p/monero/files/monero-gui-0.17.1.5-cmake-use-gentoo-versioning.patch @@ -0,0 +1,35 @@ +From c9ac85124e908625a2262b3cd4103687558a6fd9 Mon Sep 17 00:00:00 2001 +From: Bertrand Jacquin <bertrand@jacquin.bzh> +Date: Sun, 18 Oct 2020 15:43:33 +0100 +Subject: [PATCH] cmake: use gentoo versioning + +--- + cmake/VersionGui.cmake | 15 +-------------- + 1 file changed, 1 insertion(+), 14 deletions(-) + +diff --git a/cmake/VersionGui.cmake b/cmake/VersionGui.cmake +index 960c3f4e0d05..73934232b527 100644 +--- a/cmake/VersionGui.cmake ++++ b/cmake/VersionGui.cmake +@@ -30,20 +30,7 @@ function (write_static_version_header VERSION_TAG_GUI) + configure_file("${CMAKE_CURRENT_SOURCE_DIR}/src/version.js.in" "${CMAKE_CURRENT_SOURCE_DIR}/version.js") + 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}") ++write_static_version_header("@@PV@@") + +- include(GitGetVersionTag) +- git_get_version_tag(${GIT_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR} VERSION_TAG_GUI) +- STRING(REGEX REPLACE "^v([0-9])" "\\1" VERSION_TAG_GUI ${VERSION_TAG_GUI}) +- write_static_version_header(${VERSION_TAG_GUI}) +-else() +- message(STATUS "WARNING: Git was not found!") +- write_static_version_header("unknown") +-endif () + add_custom_target(genversiongui ALL + DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/version.js") diff --git a/net-p2p/monero/monero-0.17.1.5.ebuild b/net-p2p/monero/monero-0.17.1.5.ebuild new file mode 100644 index 00000000..da8cca4c --- /dev/null +++ b/net-p2p/monero/monero-0.17.1.5.ebuild @@ -0,0 +1,200 @@ +# 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 git-r3 cmake flag-o-matic toolchain-funcs python-single-r1 systemd + +DESCRIPTION="Secure, private, untraceable cryptocurrency" +HOMEPAGE="https://getmonero.org" + +EGIT_REPO_URI="https://github.com/monero-project/${PN}.git" +EGIT_COMMIT="v${PV}" +EGIT_SUBMODULES=( external/trezor-common external/supercop ) + +LICENSE="NEWLIB" +SLOT="0/${PV}" +KEYWORDS="~amd64" +CPU_FLAGS="cpu_flags_arm_aes cpu_flags_x86_aes" +IUSE="doc qt5 nls readline smartcard ${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:= ) + smartcard? ( + dev-libs/hidapi:= + virtual/libusb:= + virtual/libudev:= + dev-libs/protobuf:= + $(python_gen_cond_dep 'dev-python/protobuf-python:=[${PYTHON_MULTI_USEDEP}]') + ) + qt5? ( + dev-qt/qtconcurrent:5 + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtdeclarative:5 + dev-qt/qtnetwork:5 + dev-qt/qtsvg:5 + dev-qt/qtxmlpatterns:5[qml] + dev-qt/qtwidgets:5 + dev-qt/qtmultimedia:5 + dev-qt/qtquickcontrols:5 + dev-qt/qtquickcontrols2:5 + dev-qt/qtgraphicaleffects:5 + dev-libs/hidapi:= + media-gfx/zbar[jpeg,v4l] + media-fonts/fontawesome[ttf] + ) + acct-user/monero + acct-group/monero" +DEPEND="${PYTHON_DEPS} + doc? ( + media-gfx/graphviz + app-doc/doxygen:0 + ) + nls? ( dev-qt/qtchooser ) + qt5? ( dev-qt/linguist-tools:5 ) + ${RDEPEND}" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +PATCHES_MONERO=( + "${FILESDIR}/monero-${PV}-Drop-in-tree-miniupnpc.patch" + "${FILESDIR}/monero-${PV}-Use-gentoo-versioning.patch" + "${FILESDIR}/monero-${PV}-Do-not-install-trezor-dep-libs.patch" + "${FILESDIR}/monero-${PV}-Use-gentoo-dev-libs-randomx.patch" + "${FILESDIR}/monero-${PV}-translations-use-host-compiler.patch" +) + +PATCHES_MONERO_GUI=( + "${FILESDIR}/monero-gui-${PV}-cmake-remove-Werror.patch" + "${FILESDIR}/monero-gui-${PV}-cmake-use-gentoo-versioning.patch" +) + +CMAKE_BUILD_TYPE=Release + +src_unpack() { + git-r3_src_unpack + + if use qt5 ; then + git-r3_fetch "https://github.com/monero-project/${PN}-gui.git" "${EGIT_COMMIT}" + git-r3_checkout "https://github.com/monero-project/${PN}-gui.git" "${WORKDIR}/monero-gui-${PV}" + + rm -rf "${WORKDIR}/monero-gui-${PV}/monero" || die + ln -snf "${WORKDIR}/monero-${PV}" "${WORKDIR}/monero-gui-${PV}/monero" || die + fi +} + +src_prepare() { + export AR=$(tc-getAR) + export CC=$(tc-getCC) + export CXX=$(tc-getCXX) + tc-export_build_env BUILD_C{C,XX} + + append-cflags -DUSE_EXTRA_EC_CERT + append-cxxflags -DUSE_EXTRA_EC_CERT + + CMAKE_USE_DIR="${WORKDIR}/monero-${PV}" + BUILD_DIR="${WORKDIR}/monero-${PV}_build" + S="${CMAKE_USE_DIR}" PATCHES="${PATCHES_MONERO[@]}" cmake_src_prepare + + if use qt5 ; then + CMAKE_USE_DIR="${WORKDIR}/monero-gui-${PV}" + BUILD_DIR="${WORKDIR}/monero-gui-${PV}_build" + S="${CMAKE_USE_DIR}" PATCHES="${PATCHES_MONERO_GUI[@]}" cmake_src_prepare + + sed -i \ + -e "s/@@PV@@/${PV}/" \ + "${WORKDIR}/monero-gui-${PV}/cmake/VersionGui.cmake" \ + || die + fi +} + +src_configure() { + local mycmakeargs + local cmakeargs_monero=( + -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 + cmakeargs_monero+=( -DNO_AES=OFF ) + else + cmakeargs_monero+=( -DNO_AES=ON ) + fi + + local cmakeargs_monerogui=( + "${cmakeargs_monero[@]}" + -DUSE_DEVICE_TREZOR="$(usex smartcard ON OFF)" + -DENABLE_PASS_STRENGTH_METER=ON + -DWITH_SCANNER=ON + -DDEV_MODE=OFF + ) + + export DATABASE="lmdb" + export DEVELOPER_LOCAL_TOOLS=0 + export DEVELOPER_LIBUNBOUND_OLD=0 + + CMAKE_USE_DIR="${WORKDIR}/monero-${PV}" + BUILD_DIR="${WORKDIR}/monero-${PV}_build" + mycmakeargs=( ${cmakeargs_monero[@]} ) + cmake_src_configure + + if use qt5 ; then + CMAKE_USE_DIR="${WORKDIR}/monero-gui-${PV}" + BUILD_DIR="${WORKDIR}/monero-gui-${PV}_build" + mycmakeargs=( ${cmakeargs_monerogui[@]} ) + cmake_src_configure + fi +} + +src_compile() { + CMAKE_USE_DIR="${WORKDIR}/monero-${PV}" + BUILD_DIR="${WORKDIR}/monero-${PV}_build" + cmake_src_compile + + if use qt5 ; then + emake -C "${WORKDIR}/monero-gui-${PV}/src/zxcvbn-c" + + CMAKE_USE_DIR="${WORKDIR}/monero-gui-${PV}" + BUILD_DIR="${WORKDIR}/monero-gui-${PV}_build" + cmake_src_compile + fi +} + +src_install() { + CMAKE_USE_DIR="${WORKDIR}/monero-${PV}" + BUILD_DIR="${WORKDIR}/monero-${PV}_build" + cmake_src_install + + if use qt5 ; then + CMAKE_USE_DIR="${WORKDIR}/monero-gui-${PV}" + BUILD_DIR="${WORKDIR}/monero-gui-${PV}_build" + cmake_src_install + fi + + rm -rf "${ED}/usr/include" || die + rm -rf "${ED}/usr/lib" || die + + insinto /etc + doins utils/conf/monerod.conf + + newinitd "${FILESDIR}/monerod.initd" monerod + systemd_dounit utils/systemd/monerod.service +} |