diff --git a/net-p2p/p2pool/Manifest b/net-p2p/p2pool/Manifest index 351c857c89..16db896380 100644 --- a/net-p2p/p2pool/Manifest +++ b/net-p2p/p2pool/Manifest @@ -6,6 +6,8 @@ DIST p2pool-4.17.1.tar.xz 128420124 BLAKE2B b7f7b4cfc4c8fed0d5f1a130a7f5345c9cfd DIST p2pool-4.17.1_shasums.asc 2185 BLAKE2B 2af84ef3dd0d7d3948e7230d8aa610272a5cb473b03e9f2e266c7375877386cf74e8fdf65b481be9b9b5012b247379c0cb90452b37cd4008559d3974211fadf9 SHA512 96f17cc0f333fce4a17c1924859e36fca6d0c1afefffcb49256edf210c77e17611bbf5d881f68bd7a451a49aafdd2d3a5df8f884703866ae574ae0e0652228a0 DIST p2pool-4.17.tar.xz 128382948 BLAKE2B d470a42c3afa77ca4e40e48ab803628eea0df286323c94663d1412037ae9e97755c30399e5f1fec83f58a7f2f7a994b2fb973c32ed3cfaf1d1d819f280afe414 SHA512 d49922bbc564ae66f1a8360ddcc93f7b50927ea8b88eb0d2c68ac964318f0eece353f9f3c8bef2db09d0f57d81d20ef44e08e44da383767289c6fafdc55c3391 DIST p2pool-4.17_shasums.asc 2167 BLAKE2B f1d3a18745bacc20c79a3123d29d9ebdbbb0ba63fb867ed18bb2aec2adcddaa224cabc0f16e8c0db0844978b8ae850a24fc614d0b7650afa5b45f50a3ec404e9 SHA512 61589181510cf055602696cff56c6f7c5af4cb40471cedf59855a08c7c5d355803798799ca055439fa38fcb676cf73704c6c9c639255e94d1a917efd6be138f2 +DIST p2pool-4.18.tar.xz 129446676 BLAKE2B eabebbb9d8ea33c224f39c7695e80422a5974f3a3f4426e6663b8f1ff257ed232c9b5f73c1e970ed8e4ce735795fcdd9f3f3aecf38a93ed74c3736029835586f SHA512 87b50d49e7125aeabd8bbdcb2eb5a8ddef6573f999cfe395d4ded27b7afed1f297320bc9e4a3c293bbf030c02c63d35d95f50e34daa69e8fd7259c1a6522ac4e +DIST p2pool-4.18_shasums.asc 2167 BLAKE2B 4a5ae149b63bb5c9ba696b56004c4f417d9e7cf762924efd948378964b3b75cce1d3aa86cda5f8e64e457181bc67e3612f07cea45a2ef6cb8ffae54e86c48e6f SHA512 4965379a28bda6d38ec12758883aaffd6a0efad949150206c192adfdd18a090beef84884270f82e6eb188b955f09b608d304bc43f6171d3e08f1abc5a481294c DIST p2pool-4.8.tar.xz 116005828 BLAKE2B 19043dceb8ea47f22e51ee663959ee6d62a4dcef492c82bb3126c8e9f4093e953669807682e6f4baa24049a8bd24304ee019156dc8bbea01e5ea1375a6bbefa1 SHA512 e2c36b202316371d01a0e28cccbf2c46ce228e86cb1a15d756b6d28bf28aa63aee2bd3fa9c8096dac6f94cc595bf7316fa16be88404d679474a16eae12c03143 DIST p2pool-4.8_shasums.asc 2007 BLAKE2B b9a61434a3fcf78bcb3b0f2d384419f25238c13f4ed561b48fe54dc2bc981755fde67ca3d489c0c31cf8f3239468140e093a411b7eb2852bb9bf37ca30531229 SHA512 4c9fecabb08d330089af0782f1b76bb2ed64c37f0ef43563ad63e0b9cded45a3702d8fe1095acd708f2360f04ba7e77375dfffc15df51637ac7da61c88d07f0a DIST p2pool-4.9.1.tar.xz 117271756 BLAKE2B 12cb5114c0759b5303ea919e97f2ccfc08d1f32c7ad2ebd318d83ca3c15f87444389d4039af280a9b9105766b2389b247baecbca367fe5d11adb99794f7e1795 SHA512 ee5220ecd14d1d1b0dcb51d64207147c9be78b3111cde8c7e84f9808f0c6f3e6f085ece9eb3b5495529aa05844da7b2839fc6133b5e3f8d44764c52acd338e93 diff --git a/net-p2p/p2pool/p2pool-4.18.ebuild b/net-p2p/p2pool/p2pool-4.18.ebuild new file mode 100644 index 0000000000..23dea2c3cc --- /dev/null +++ b/net-p2p/p2pool/p2pool-4.18.ebuild @@ -0,0 +1,107 @@ +# Copyright 2022-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +#TODO: enable/fix GRPC/TLS dependency and add it as USE flag (https://github.com/SChernykh/p2pool/issues/313) +# These features build fine in cmake outside of portage, I can't figure out how to link them here for the life of me. +# It's probably better to just re-write the CMakeLists.txt to dynamicially link with gRPC + +EAPI=8 + +inherit cmake verify-sig + +DESCRIPTION="Decentralized pool for Monero mining" +HOMEPAGE="https://p2pool.io" +SRC_URI=" + https://github.com/SChernykh/p2pool/releases/download/v${PV}/p2pool_source-v${PV}.tar.xz -> ${P}.tar.xz + verify-sig? ( https://github.com/SChernykh/p2pool/releases/download/v${PV}/sha256sums.txt.asc -> ${P}_shasums.asc ) +" + +LICENSE="BSD GPL-3+ ISC LGPL-3+ MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +#IUSE="grpc tls" +IUSE="daemon" + +DEPEND=" + dev-libs/libsodium:= + dev-libs/libuv:= + dev-libs/randomx + net-libs/zeromq:= + net-misc/curl + daemon? ( + acct-group/monero + acct-user/monero + ) +" +RDEPEND="${DEPEND}" +BDEPEND=" + dev-util/patchelf + verify-sig? ( sec-keys/openpgp-keys-schernykh ) +" + +src_unpack() { + if use verify-sig; then + local VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/SChernykh.asc + pushd "${DISTDIR}" > /dev/null || die + verify-sig_verify_message ${P}_shasums.asc - | \ + tr \\r \\n | \ + tr '[:upper:]' '[:lower:]' | \ + sed -n '/p2pool_source/,$p' | \ + grep -m 1 sha256: | \ + sed "s/sha256: \(.*\)/\1 ${P}.tar.xz/" | \ + verify-sig_verify_unsigned_checksums - sha256 ${P}.tar.xz + assert + popd || die + fi + unpack ${P}.tar.xz + mv -T "${WORKDIR}"/{${PN},${P}} || die +} + +src_configure() { + local mycmakeargs=( + -DSTATIC_BINARY=OFF + -DSTATIC_LIBS=OFF + -DWITH_GRPC=OFF #$(usex grpc) + -DWITH_TLS=OFF #$(usex tls) + ) + cmake_src_configure +} + +src_install(){ + # remove insecure RUNPATHs + patchelf --remove-rpath "${BUILD_DIR}"/p2pool || die + dobin "${BUILD_DIR}"/p2pool + + if use daemon; then + # data-dir + keepdir /var/lib/${PN} + fowners monero:monero /var/lib/${PN} + fperms 0755 /var/lib/${PN} + + # OpenRC + newconfd "${FILESDIR}"/${PN}-4.5-r1.confd ${PN} + newinitd "${FILESDIR}"/${PN}-4.5-r1.initd ${PN} + fi +} + +pkg_postinst() { + #Some important wisdom taken from P2Pool documentation + ewarn "P2Pool for Monero is now installed." + ewarn "You can run it by doing 'p2pool --host 127.0.0.1 --wallet YOUR_PRIMARY_ADDRESS'" + ewarn "Where 127.0.0.1 is the address of a local monero node (e.g. monerod)" + ewarn + ewarn "Once configured, point your RandomX miner (e.g. XMRig) at p2pool" + ewarn "For example 'xmrig -o 127.0.0.1:3333'" + ewarn + ewarn "You MUST use your primary address when using p2pool, just like solo mining." + ewarn "If you want privacy, create a new mainnet wallet for P2Pool mining." + ewarn + ewarn "Rewards will not be visible unless you use a wallet that supports P2Pool." + ewarn "See https://p2pool.io/#help and https://github.com/SChernykh/p2pool for more information." + + if use daemon; then + einfo "p2pool supports just OpenRC daemon right now." + einfo "To launch it set your wallet address in /etc/conf.d/${PN} and run" + einfo " # rc-service p2pool start" + fi +}