diff --git a/app-metrics/scaphandre/scaphandre-0.4.1.ebuild b/app-metrics/scaphandre/scaphandre-0.4.1.ebuild index 3699796e3f..a551256cfa 100644 --- a/app-metrics/scaphandre/scaphandre-0.4.1.ebuild +++ b/app-metrics/scaphandre/scaphandre-0.4.1.ebuild @@ -215,3 +215,4 @@ KEYWORDS="~amd64 ~arm64" DEPEND="" RDEPEND="" +QA_FLAGS_IGNORED="usr/bin/scaphandre" diff --git a/app-misc/kloak/files/toolchain-call.patch b/app-misc/kloak/files/toolchain-call.patch new file mode 100644 index 0000000000..2f11953edd --- /dev/null +++ b/app-misc/kloak/files/toolchain-call.patch @@ -0,0 +1,15 @@ +--- a/Makefile ++++ b/Makefile +@@ -3,10 +3,10 @@ + all : kloak eventcap + + kloak : src/main.c src/keycodes.c src/keycodes.h +- gcc src/main.c src/keycodes.c -o kloak -lm -lpthread $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) ++ $(CC) src/main.c src/keycodes.c -o kloak -lm -lpthread $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) + + eventcap : src/eventcap.c +- gcc src/eventcap.c -o eventcap $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) ++ $(CC) src/eventcap.c -o eventcap $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) + + clean : + rm -f kloak eventcap diff --git a/app-misc/kloak/kloak-0.2.30.ebuild b/app-misc/kloak/kloak-0.2.30.ebuild index 060119e533..6875daa322 100644 --- a/app-misc/kloak/kloak-0.2.30.ebuild +++ b/app-misc/kloak/kloak-0.2.30.ebuild @@ -16,7 +16,9 @@ DEPEND="" RDEPEND="${DEPEND}" BDEPEND="" CONFIG_CHECK="~UINPUT" - +PATCHES=( + "${FILESDIR}"/toolchain-call.patch +) src_install() { dobin eventcap dobin kloak diff --git a/app-shells/zsh-autosuggestions/Manifest b/app-shells/zsh-autosuggestions/Manifest index 249800d81d..9483341be9 100644 --- a/app-shells/zsh-autosuggestions/Manifest +++ b/app-shells/zsh-autosuggestions/Manifest @@ -1 +1,2 @@ DIST zsh-autosuggestions-0.6.4.tar.gz 29154 BLAKE2B 73bef916e4abb53f6bd7d8daa67040a78e30aaaf3d71ed04e2f32d4fbbbc35bda1fa8cbcb8957324b52c39bf7ed454132ede657b2caee03798a41a2c330df0d9 SHA512 226b99048577ecdbe198501e6e4b3156c3d849994f0a2f7e15687cd244d4cac472cbcf746aaa32b2886652f6962852a475777b5f2bfcb3a6d0279be98a6020bb +DIST zsh-autosuggestions-0.7.0.tar.gz 27953 BLAKE2B b12c387a7a6424f1e3e2bc76a4d9f11a3bddb4bc1d69236249722a829c53f3136ff0cbf8aaf02faff54f49f7b7363fcd06576a2dc6c8026c62951da2d0ebc2c2 SHA512 b1a0a11a89095e4f142061525f92836588561e3bfab015bb96eabe3f1f68d0cfcd7483014dac8c5b2911e65640e9182c5fc4cb4fb53e3a05ef7997c006ff76a6 diff --git a/app-shells/zsh-autosuggestions/zsh-autosuggestions-0.7.0.ebuild b/app-shells/zsh-autosuggestions/zsh-autosuggestions-0.7.0.ebuild new file mode 100644 index 0000000000..924f2c04da --- /dev/null +++ b/app-shells/zsh-autosuggestions/zsh-autosuggestions-0.7.0.ebuild @@ -0,0 +1,57 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +RUBY_FAKEGEM_RECIPE_TEST="rspec3" +USE_RUBY="ruby26 ruby27 ruby30" + +inherit readme.gentoo-r1 ruby-fakegem + +DESCRIPTION="Fish-like autosuggestions for zsh" +HOMEPAGE="https://github.com/zsh-users/zsh-autosuggestions" +SRC_URI="https://github.com/zsh-users/zsh-autosuggestions/archive/v${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/all/${P}" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" +IUSE="test" + +RDEPEND=">=app-shells/zsh-4.3.11" +BDEPEND=" + test? ( + ${RDEPEND} + app-misc/tmux + dev-ruby/bundler + dev-ruby/pry + dev-ruby/pry-byebug + dev-ruby/rspec-wait + ) +" + +RESTRICT="!test? ( test )" + +DISABLE_AUTOFORMATTING="true" +DOC_CONTENTS="In order to use ${CATEGORY}/${PN} add +. /usr/share/zsh/site-functions/${PN}.zsh +at the end of your ~/.zshrc" + +src_prepare() { + # FIXME: Disable failing tests + rm "spec/options/buffer_max_size_spec.rb" \ + || die "Could not remove tests" + ruby-ng_src_prepare +} + +src_install() { + insinto "/usr/share/zsh/site-functions/" + doins "${PN}.zsh" + + readme.gentoo_create_doc + einstalldocs +} + +pkg_postinst() { + readme.gentoo_print_elog +} diff --git a/gui-wm/dwl/Manifest b/gui-wm/dwl/Manifest index 619213fdf2..0584213392 100644 --- a/gui-wm/dwl/Manifest +++ b/gui-wm/dwl/Manifest @@ -1 +1,2 @@ DIST dwl-0.2.1.tar.gz 49275 BLAKE2B e99acc86e937e288fbaf4532fc446d7b6820fec5316b8417824369a142481c67f3a2567733e2836b3dfeb88658f42c8df9db6d3283a3d23082451e868d4f8150 SHA512 caac92082c97d36a8f1ff3b3cf9762ee16e43595223acedb752646de9c78240718a4d118513e8314b0089f7073d6cea5d6a8313fd0d2eeeeb8f9d3b06b0d78af +DIST dwl-0.3.tar.gz 48523 BLAKE2B 4064d01641f833a12a9b4cde304efded878a1037f19f477d765366cf41f16358576ddc6e210fb13d91f2acd4874395685aa680a150e034e5fe79ea8202ee3ab3 SHA512 2575c782df55e70f27db5b9ff50f8b47979354f4e9c1a6b37638221db13573790344996cc884e317f3738d848a4209257ae6abe5c173a556b8d2690391e04691 diff --git a/gui-wm/dwl/dwl-0.3.ebuild b/gui-wm/dwl/dwl-0.3.ebuild new file mode 100644 index 0000000000..285f36ac7f --- /dev/null +++ b/gui-wm/dwl/dwl-0.3.ebuild @@ -0,0 +1,51 @@ +# Copyright 2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit flag-o-matic savedconfig toolchain-funcs + +DESCRIPTION="dwm for Wayland" +HOMEPAGE="https://github.com/djpohly/dwl" +SRC_URI="https://github.com/djpohly/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="CC0-1.0 GPL-3 MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="X" + +RDEPEND=" + dev-libs/libinput + dev-libs/wayland + gui-libs/wlroots[X(-)?] + x11-libs/libxcb + x11-libs/libxkbcommon +" +DEPEND="${RDEPEND}" +BDEPEND=" + dev-libs/wayland-protocols + dev-util/wayland-scanner + virtual/pkgconfig +" + +src_prepare() { + default + + restore_config config.h +} + +src_configure() { + use X && append-cppflags -DXWAYLAND + tc-export CC +} + +src_install() { + emake PREFIX="${ED}/usr" install + + insinto /usr/share/wayland-sessions + doins "${FILESDIR}"/dwl.desktop + + einstalldocs + + save_config config.h +} diff --git a/net-misc/peertube-viewer-rs/peertube-viewer-rs-1.8.4.ebuild b/net-misc/peertube-viewer-rs/peertube-viewer-rs-1.8.4-r1.ebuild similarity index 94% rename from net-misc/peertube-viewer-rs/peertube-viewer-rs-1.8.4.ebuild rename to net-misc/peertube-viewer-rs/peertube-viewer-rs-1.8.4-r1.ebuild index ab31538ff5..cc84f0d613 100644 --- a/net-misc/peertube-viewer-rs/peertube-viewer-rs-1.8.4.ebuild +++ b/net-misc/peertube-viewer-rs/peertube-viewer-rs-1.8.4-r1.ebuild @@ -125,3 +125,11 @@ S="${WORKDIR}/${PN}-v${PV}-72e39500dfe826b180e2264fcee5f914aec04fea" LICENSE="AGPL-3" SLOT="0" KEYWORDS="~amd64" +QA_FLAGS_IGNORED=( + "usr/bin/peertube-viewer-rs" +) + +src_install() { + cargo_src_install + install -Dm644 -t "${D}/usr/share/man/man1" "${S}/${PN}.1" +} diff --git a/net-p2p/monero/Manifest b/net-p2p/monero/Manifest new file mode 100644 index 0000000000..40e48c4553 --- /dev/null +++ b/net-p2p/monero/Manifest @@ -0,0 +1,2 @@ +DIST monero-0.17.2.0.tar.gz 10622184 BLAKE2B c439e447f524a08a7ee79420873b7cf393f5cd3269460944aac30a315ac7c273c12fd809d86d41445bfc7e8c2feb0538d4e9fc1dadeb55f7e09f2920778f07a7 SHA512 85b764f1fc25127e7ca4ada67b1d832a9604c4cf65b160d689650e7ca7bbc36b73d8b26c5409fabdaad7369684997447cd812d1c521fad19d24f5b35f4789a1e +DIST monero-0.17.2.3.tar.gz 10640501 BLAKE2B 15c7b92e7d00788214953c09af96d578e79c65ba9263d2a9ea19cfb9cc65e77d15770b873a10b77aae9e908dce74162d3577ed241600ebd57098b860bfd8f114 SHA512 7f3363c2cb66fa90a47a4cbb03b367182afa63af21d40bf07ea57cd91e4805684ec4795c0390bc966626a3b7b3c0a47167036873f5d1ea4b487a3d02bf01aaa4 diff --git a/net-p2p/monero/files/monero-0.17.1.7-linkjobs.patch b/net-p2p/monero/files/monero-0.17.1.7-linkjobs.patch new file mode 100644 index 0000000000..d0f59a6f9b --- /dev/null +++ b/net-p2p/monero/files/monero-0.17.1.7-linkjobs.patch @@ -0,0 +1,44 @@ +From 12a78e5e745556c29e45b7716a8b038ecfbff800 Mon Sep 17 00:00:00 2001 +From: Matt Smith +Date: Wed, 5 Aug 2020 18:39:44 +0100 +Subject: [PATCH] cmake: Use job pool feature to limit concurrent jobs + +Add two new options, MONERO_PARALLEL_COMPILE_JOBS and +MONERO_PARALLEL_LINK_JOBS to try and prevent running out of memory when +building everything. + +Requires >= cmake 3.0.0, and the use of the Ninja generator. + +Useful links: + +* https://cmake.org/cmake/help/latest/prop_gbl/JOB_POOLS.html +* https://reviews.llvm.org/D6304 +--- + CMakeLists.txt | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f63c07a35d..3729a6b659 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -55,6 +55,20 @@ else() + message(STATUS "ccache deselected") + endif() + ++if (${CMAKE_VERSION} VERSION_GREATER "3.0.0" AND CMAKE_MAKE_PROGRAM MATCHES "ninja") ++ set(MONERO_PARALLEL_COMPILE_JOBS "" CACHE STRING "The maximum number of concurrent compilation jobs.") ++ if (MONERO_PARALLEL_COMPILE_JOBS) ++ set_property(GLOBAL APPEND PROPERTY JOB_POOLS compile_job_pool=${MONERO_PARALLEL_COMPILE_JOBS}) ++ set(CMAKE_JOB_POOL_COMPILE compile_job_pool) ++ endif () ++ ++ set(MONERO_PARALLEL_LINK_JOBS "" CACHE STRING "The maximum number of concurrent link jobs.") ++ if (MONERO_PARALLEL_LINK_JOBS) ++ set_property(GLOBAL APPEND PROPERTY JOB_POOLS link_job_pool=${MONERO_PARALLEL_LINK_JOBS}) ++ set(CMAKE_JOB_POOL_LINK link_job_pool) ++ endif () ++endif() ++ + enable_language(C ASM) + + function (die msg) diff --git a/net-p2p/monero/files/monero-0.17.1.7-unbundle-dependencies.patch b/net-p2p/monero/files/monero-0.17.1.7-unbundle-dependencies.patch new file mode 100644 index 0000000000..ea7f804996 --- /dev/null +++ b/net-p2p/monero/files/monero-0.17.1.7-unbundle-dependencies.patch @@ -0,0 +1,112 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 41f82e26c..3eb2b2e78 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -312,7 +312,7 @@ endif() + # elseif(CMAKE_SYSTEM_NAME MATCHES ".*BSDI.*") + # set(BSDI TRUE) + +-include_directories(external/rapidjson/include external/easylogging++ src contrib/epee/include external external/supercop/include) ++include_directories(external/rapidjson/include external/easylogging++ src contrib/epee/include external ) + + if(APPLE) + include_directories(SYSTEM /usr/include/malloc) +@@ -995,7 +995,6 @@ if(SODIUM_LIBRARY) + set(ZMQ_LIB "${ZMQ_LIB};${SODIUM_LIBRARY}") + endif() + +-include(external/supercop/functions.cmake) # place after setting flags and before src directory inclusion + add_subdirectory(contrib) + add_subdirectory(src) + +diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt +index a8916a7d0..05ab35c82 100644 +--- a/external/CMakeLists.txt ++++ b/external/CMakeLists.txt +@@ -37,19 +37,7 @@ + + 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_LIBRARIES "miniupnpc" PARENT_SCOPE) + + find_package(Unbound) + +@@ -81,4 +69,3 @@ endif() + add_subdirectory(db_drivers) + add_subdirectory(easylogging++) + add_subdirectory(qrcodegen) +-add_subdirectory(randomx EXCLUDE_FROM_ALL) +diff --git a/src/crypto/CMakeLists.txt b/src/crypto/CMakeLists.txt +index 3b33fe90a..ba354a0e8 100644 +--- a/src/crypto/CMakeLists.txt ++++ b/src/crypto/CMakeLists.txt +@@ -55,6 +55,7 @@ list(APPEND crypto_sources CryptonightR_template.S) + endif() + + include_directories(${RANDOMX_INCLUDE}) ++include_directories(SYSTEM /usr/include/monero) + + set(crypto_headers) + +@@ -116,6 +117,3 @@ endif() + + # cheat because cmake and ccache hate each other + set_property(SOURCE CryptonightR_template.S PROPERTY LANGUAGE C) +- +-# Must be done last, because it references libraries in this directory +-add_subdirectory(wallet) +diff --git a/src/crypto/wallet/crypto.h b/src/crypto/wallet/crypto.h +index a4c5d5a07..5c6b96cd8 100644 +--- a/src/crypto/wallet/crypto.h ++++ b/src/crypto/wallet/crypto.h +@@ -29,7 +29,6 @@ + #pragma once + + #include +-#include "crypto/wallet/ops.h" + + namespace crypto { + namespace wallet { +diff --git a/src/device/CMakeLists.txt b/src/device/CMakeLists.txt +index ff2afba4b..26b0f4523 100644 +--- a/src/device/CMakeLists.txt ++++ b/src/device/CMakeLists.txt +@@ -72,7 +72,7 @@ target_link_libraries(device + ${HIDAPI_LIBRARIES} + cncrypto + ringct_basic +- wallet-crypto ++ monero-crypto + ${OPENSSL_CRYPTO_LIBRARIES} + ${Boost_SERIALIZATION_LIBRARY} + PRIVATE +diff --git a/src/p2p/net_node.inl b/src/p2p/net_node.inl +index 65db2615c..3ace310f6 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/monero-0.17.2.0-boost-176.patch b/net-p2p/monero/files/monero-0.17.2.0-boost-176.patch new file mode 100644 index 0000000000..07a584a39b --- /dev/null +++ b/net-p2p/monero/files/monero-0.17.2.0-boost-176.patch @@ -0,0 +1,24 @@ +From c28d2f7c110c0a2161fa02d6c20df94a60a41965 Mon Sep 17 00:00:00 2001 +From: loqs +Date: Sun, 23 May 2021 20:29:17 +0100 +Subject: [PATCH] Fix boost 1.76.0 compatibility + +Add missing header boost/mpl/contains.hpp +monero-project/monero/issues/7728 +--- + contrib/epee/include/storages/portable_storage.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/contrib/epee/include/storages/portable_storage.h b/contrib/epee/include/storages/portable_storage.h +index 1e68605abf5..801bb2c3465 100644 +--- a/contrib/epee/include/storages/portable_storage.h ++++ b/contrib/epee/include/storages/portable_storage.h +@@ -40,6 +40,8 @@ + #include "span.h" + #include "int-util.h" + ++#include ++ + namespace epee + { + namespace serialization diff --git a/net-p2p/monero/files/monerod.conf b/net-p2p/monero/files/monerod.conf new file mode 100644 index 0000000000..d019576c60 --- /dev/null +++ b/net-p2p/monero/files/monerod.conf @@ -0,0 +1,8 @@ +# Configuration for monerod +# Syntax: any command line option may be specified as 'clioptionname=value'. +# Boolean options such as 'no-igd' are specified as 'no-igd=1'. +# See 'monerod --help' for all available options. + +data-dir=/var/lib/monero +log-file=/var/log/monero/monero.log +log-level=0 diff --git a/net-p2p/monero/files/monerod.confd b/net-p2p/monero/files/monerod.confd new file mode 100644 index 0000000000..94515dcc25 --- /dev/null +++ b/net-p2p/monero/files/monerod.confd @@ -0,0 +1,6 @@ +# Copyright 2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +monerod_args="--config-file /etc/monero/monerod.conf --non-interactive" +monerod_user=monero +monerod_group=monero diff --git a/net-p2p/monero/files/monerod.initd b/net-p2p/monero/files/monerod.initd new file mode 100644 index 0000000000..c94e6ff46f --- /dev/null +++ b/net-p2p/monero/files/monerod.initd @@ -0,0 +1,21 @@ +#!/sbin/openrc-run +# Copyright 2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +pidfile=/var/run/monerod.pid +command=/usr/bin/monerod +command_args="${monerod_args}" +start_stop_daemon_args="-u ${monerod_user} -b -m -p ${pidfile}" + +name="Monero P2P Daemon" +description="Connects to the Monero P2P network" + +depend() { + need localmount + need net +} + +start_pre() { + checkpath --directory --owner ${monerod_user}:${monerod_group} --mode 0755 \ + /var/lib/monero /var/log/monero +} diff --git a/net-p2p/monero/files/monerod.service b/net-p2p/monero/files/monerod.service new file mode 100644 index 0000000000..3275604975 --- /dev/null +++ b/net-p2p/monero/files/monerod.service @@ -0,0 +1,17 @@ +[Unit] +Description=Monero P2P Daemon +After=network.target + +[Service] +User=monero +Group=monero +StateDirectory=monero +LogsDirectory=monero +Type=simple +ExecStart=/usr/bin/monerod --config-file /etc/monero/monerod.conf --non-interactive +Restart=on-failure +StandardOutput=null +StandardError=null + +[Install] +WantedBy=multi-user.target diff --git a/net-p2p/monero/metadata.xml b/net-p2p/monero/metadata.xml new file mode 100644 index 0000000000..7b6989c63f --- /dev/null +++ b/net-p2p/monero/metadata.xml @@ -0,0 +1,31 @@ + + + + + telans@posteo.de + James Beddek + + + Monero is a private, secure, untraceable, decentralised digital + currency. You are your bank, you control your funds, and nobody + can trace your transfers unless you allow them to do so. + + + + Build the Monero daemon used to connect to the P2P network. + + + Build tools used to manipulate the blockchain as it is stored on + disk. + + + Build the command line wallet, monero-wallet-cli. + + + Build the RPC wallet, monero-wallet-rpc. + + + + monero-project/monero + + diff --git a/net-p2p/monero/monero-0.17.2.0.ebuild b/net-p2p/monero/monero-0.17.2.0.ebuild new file mode 100644 index 0000000000..2dc411809e --- /dev/null +++ b/net-p2p/monero/monero-0.17.2.0.ebuild @@ -0,0 +1,117 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit cmake systemd + +DESCRIPTION="The secure, private, untraceable cryptocurrency" +HOMEPAGE="https://github.com/monero-project/monero" + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/monero-project/monero.git" + EGIT_SUBMODULES=() +else + SRC_URI="https://github.com/monero-project/monero/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~arm64 ~x86" +fi + +LICENSE="BSD MIT" +SLOT="0" +IUSE="+daemon readline +tools +wallet-cli +wallet-rpc" +REQUIRED_USE="|| ( daemon tools wallet-cli wallet-rpc )" +RESTRICT="test" + +DEPEND=" + acct-group/monero + acct-user/monero + dev-libs/boost:=[nls] + dev-libs/libsodium:= + dev-libs/openssl:= + dev-libs/randomx + dev-libs/rapidjson + dev-libs/supercop + net-dns/unbound:=[threads] + net-libs/czmq:= + net-libs/miniupnpc + readline? ( sys-libs/readline:0= ) +" +RDEPEND="${DEPEND}" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}/${PN}-0.17.1.7-unbundle-dependencies.patch" + "${FILESDIR}/${PN}-0.17.2.0-boost-176.patch" +) + +src_configure() { + local mycmakeargs=( + # TODO: Update CMake to install built libraries (help wanted) + -DBUILD_SHARED_LIBS=OFF + -DMANUAL_SUBMODULES=ON + -DMONERO_PARALLEL_LINK_JOBS=1 + -DUSE_DEVICE_TREZOR=OFF + ) + + cmake_src_configure +} + +src_compile() { + local targets=() + use daemon && targets+=(daemon) + use tools && targets+=(blockchain_{ancestry,blackball,db,depth,export,import,prune,prune_known_spent_data,stats,usage}) + use wallet-cli && targets+=(simplewallet) + use wallet-rpc && targets+=(wallet_rpc_server) + cmake_build ${targets[@]} +} + +src_install() { + einstalldocs + + # Install all binaries. + find "${BUILD_DIR}/bin/" -type f -executable -print0 | + while IFS= read -r -d '' line; do + dobin "$line" + done + + if use daemon; then + dodoc utils/conf/monerod.conf + + # data-dir + keepdir /var/lib/monero + fowners monero:monero /var/lib/monero + fperms 0755 /var/lib/monero + + # log-file dir + keepdir /var/log/monero + fowners monero:monero /var/log/monero + fperms 0755 /var/log/monero + + # /etc/monero/monerod.conf + insinto /etc/monero + doins "${FILESDIR}/monerod.conf" + + # OpenRC + newconfd "${FILESDIR}/monerod.confd" monerod + newinitd "${FILESDIR}/monerod.initd" monerod + + # systemd + systemd_dounit "${FILESDIR}/monerod.service" + fi +} + +pkg_postinst() { + if use daemon; then + elog "Start the Monero P2P daemon as a system service with" + elog "'rc-service monerod start'. Enable it at startup with" + elog "'rc-update add monerod default'." + elog + elog "Run monerod status as any user to get sync status and other stats." + elog + elog "The Monero blockchain can take up a lot of space (80 GiB) and is stored" + elog "in /var/lib/monero by default. You may want to enable pruning by adding" + elog "'prune-blockchain=1' to /etc/monero/monerod.conf to prune the blockchain" + elog "or move the data directory to another disk." + fi +} diff --git a/net-p2p/monero/monero-0.17.2.3.ebuild b/net-p2p/monero/monero-0.17.2.3.ebuild new file mode 100644 index 0000000000..2dc411809e --- /dev/null +++ b/net-p2p/monero/monero-0.17.2.3.ebuild @@ -0,0 +1,117 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit cmake systemd + +DESCRIPTION="The secure, private, untraceable cryptocurrency" +HOMEPAGE="https://github.com/monero-project/monero" + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/monero-project/monero.git" + EGIT_SUBMODULES=() +else + SRC_URI="https://github.com/monero-project/monero/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~arm64 ~x86" +fi + +LICENSE="BSD MIT" +SLOT="0" +IUSE="+daemon readline +tools +wallet-cli +wallet-rpc" +REQUIRED_USE="|| ( daemon tools wallet-cli wallet-rpc )" +RESTRICT="test" + +DEPEND=" + acct-group/monero + acct-user/monero + dev-libs/boost:=[nls] + dev-libs/libsodium:= + dev-libs/openssl:= + dev-libs/randomx + dev-libs/rapidjson + dev-libs/supercop + net-dns/unbound:=[threads] + net-libs/czmq:= + net-libs/miniupnpc + readline? ( sys-libs/readline:0= ) +" +RDEPEND="${DEPEND}" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}/${PN}-0.17.1.7-unbundle-dependencies.patch" + "${FILESDIR}/${PN}-0.17.2.0-boost-176.patch" +) + +src_configure() { + local mycmakeargs=( + # TODO: Update CMake to install built libraries (help wanted) + -DBUILD_SHARED_LIBS=OFF + -DMANUAL_SUBMODULES=ON + -DMONERO_PARALLEL_LINK_JOBS=1 + -DUSE_DEVICE_TREZOR=OFF + ) + + cmake_src_configure +} + +src_compile() { + local targets=() + use daemon && targets+=(daemon) + use tools && targets+=(blockchain_{ancestry,blackball,db,depth,export,import,prune,prune_known_spent_data,stats,usage}) + use wallet-cli && targets+=(simplewallet) + use wallet-rpc && targets+=(wallet_rpc_server) + cmake_build ${targets[@]} +} + +src_install() { + einstalldocs + + # Install all binaries. + find "${BUILD_DIR}/bin/" -type f -executable -print0 | + while IFS= read -r -d '' line; do + dobin "$line" + done + + if use daemon; then + dodoc utils/conf/monerod.conf + + # data-dir + keepdir /var/lib/monero + fowners monero:monero /var/lib/monero + fperms 0755 /var/lib/monero + + # log-file dir + keepdir /var/log/monero + fowners monero:monero /var/log/monero + fperms 0755 /var/log/monero + + # /etc/monero/monerod.conf + insinto /etc/monero + doins "${FILESDIR}/monerod.conf" + + # OpenRC + newconfd "${FILESDIR}/monerod.confd" monerod + newinitd "${FILESDIR}/monerod.initd" monerod + + # systemd + systemd_dounit "${FILESDIR}/monerod.service" + fi +} + +pkg_postinst() { + if use daemon; then + elog "Start the Monero P2P daemon as a system service with" + elog "'rc-service monerod start'. Enable it at startup with" + elog "'rc-update add monerod default'." + elog + elog "Run monerod status as any user to get sync status and other stats." + elog + elog "The Monero blockchain can take up a lot of space (80 GiB) and is stored" + elog "in /var/lib/monero by default. You may want to enable pruning by adding" + elog "'prune-blockchain=1' to /etc/monero/monerod.conf to prune the blockchain" + elog "or move the data directory to another disk." + fi +} diff --git a/net-p2p/monero/monero-9999.ebuild b/net-p2p/monero/monero-9999.ebuild new file mode 100644 index 0000000000..b178a494ad --- /dev/null +++ b/net-p2p/monero/monero-9999.ebuild @@ -0,0 +1,114 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit cmake systemd + +DESCRIPTION="The secure, private, untraceable cryptocurrency" +HOMEPAGE="https://github.com/monero-project/monero" + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/monero-project/monero.git" + EGIT_SUBMODULES=() +else + SRC_URI="https://github.com/monero-project/monero/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~arm64 ~x86" +fi + +LICENSE="BSD MIT" +SLOT="0" +IUSE="+daemon readline +tools +wallet-cli +wallet-rpc" +REQUIRED_USE="|| ( daemon tools wallet-cli wallet-rpc )" +RESTRICT="test" + +DEPEND=" + acct-group/monero + acct-user/monero + dev-libs/boost:=[nls] + dev-libs/libsodium:= + dev-libs/openssl:= + dev-libs/randomx + dev-libs/rapidjson + dev-libs/supercop + net-dns/unbound:=[threads] + net-libs/czmq:= + net-libs/miniupnpc + readline? ( sys-libs/readline:0= ) +" +RDEPEND="${DEPEND}" +BDEPEND="virtual/pkgconfig" + +PATCHES=( "${FILESDIR}/${PN}-0.17.1.7-unbundle-dependencies.patch" ) + +src_configure() { + local mycmakeargs=( + # TODO: Update CMake to install built libraries (help wanted) + -DBUILD_SHARED_LIBS=OFF + -DMANUAL_SUBMODULES=ON + -DMONERO_PARALLEL_LINK_JOBS=1 + -DUSE_DEVICE_TREZOR=OFF + ) + + cmake_src_configure +} + +src_compile() { + local targets=() + use daemon && targets+=(daemon) + use tools && targets+=(blockchain_{ancestry,blackball,db,depth,export,import,prune,prune_known_spent_data,stats,usage}) + use wallet-cli && targets+=(simplewallet) + use wallet-rpc && targets+=(wallet_rpc_server) + cmake_build ${targets[@]} +} + +src_install() { + einstalldocs + + # Install all binaries. + find "${BUILD_DIR}/bin/" -type f -executable -print0 | + while IFS= read -r -d '' line; do + dobin "$line" + done + + if use daemon; then + dodoc utils/conf/monerod.conf + + # data-dir + keepdir /var/lib/monero + fowners monero:monero /var/lib/monero + fperms 0755 /var/lib/monero + + # log-file dir + keepdir /var/log/monero + fowners monero:monero /var/log/monero + fperms 0755 /var/log/monero + + # /etc/monero/monerod.conf + insinto /etc/monero + doins "${FILESDIR}/monerod.conf" + + # OpenRC + newconfd "${FILESDIR}/monerod.confd" monerod + newinitd "${FILESDIR}/monerod.initd" monerod + + # systemd + systemd_dounit "${FILESDIR}/monerod.service" + fi +} + +pkg_postinst() { + if use daemon; then + elog "Start the Monero P2P daemon as a system service with" + elog "'rc-service monerod start'. Enable it at startup with" + elog "'rc-update add monerod default'." + elog + elog "Run monerod status as any user to get sync status and other stats." + elog + elog "The Monero blockchain can take up a lot of space (80 GiB) and is stored" + elog "in /var/lib/monero by default. You may want to enable pruning by adding" + elog "'prune-blockchain=1' to /etc/monero/monerod.conf to prune the blockchain" + elog "or move the data directory to another disk." + fi +}