* [gentoo-commits] repo/proj/guru:master commit in: net-p2p/p2pool/files/, net-p2p/p2pool/
@ 2025-05-07 12:08 David Roman
0 siblings, 0 replies; only message in thread
From: David Roman @ 2025-05-07 12:08 UTC (permalink / raw
To: gentoo-commits
commit: 4e931ab8c9b53431799abb079c79bb0c6282f33f
Author: Filip Kobierski <fkobi <AT> pm <DOT> me>
AuthorDate: Tue May 6 16:28:04 2025 +0000
Commit: David Roman <davidroman96 <AT> gmail <DOT> com>
CommitDate: Tue May 6 16:41:48 2025 +0000
URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=4e931ab8
net-p2p/p2pool: add 4.5-r1 with improved openrc service files
- conf.d: do not prefix umask
- init.d
- add name
- wait for shutdown one second longer
- sort variables (constants, read & generic, read & i2pd specific)
- quote variables & use := instead of :=
- use SSD_{,IO}NICE for setting niceness
- adjust whitespace
- use `return 1` instead of `false`
- simplify keeplog section
Signed-off-by: Filip Kobierski <fkobi <AT> pm.me>
net-p2p/p2pool/files/p2pool-4.5-r1.confd | 27 ++++++++
net-p2p/p2pool/files/p2pool-4.5-r1.initd | 43 +++++++++++++
net-p2p/p2pool/p2pool-4.5-r1.ebuild | 102 +++++++++++++++++++++++++++++++
3 files changed, 172 insertions(+)
diff --git a/net-p2p/p2pool/files/p2pool-4.5-r1.confd b/net-p2p/p2pool/files/p2pool-4.5-r1.confd
new file mode 100644
index 000000000..2bb1a51c8
--- /dev/null
+++ b/net-p2p/p2pool/files/p2pool-4.5-r1.confd
@@ -0,0 +1,27 @@
+# /etc/conf.d/p2pool: config file for /etc/init.d/p2pool
+
+# Wallet address to recieve the payouts.
+# Note that it needs to be the primary address (start with 4)
+P2POOL_WALLET=""
+
+# IP address of your Monero node
+#P2POOL_HOST="127.0.0.1"
+
+#P2POOL_USER="monero"
+#P2POOL_GROUP="monero"
+
+#P2POOL_DATADIR="/var/lib/p2pool"
+#P2POOL_LOGLEVEL=1
+
+#P2POOL_NICE=5
+#P2POOL_IONICE=2:4 # See START-STOP-DAEMON(8) for details
+
+
+# Uncomment to have a persistent log.
+# This is not recommended as it does not rotate.
+#P2POOL_KEEPLOG=1
+
+# Extra options passed to the daemon
+#P2POOL_OPTS="--mini"
+
+#umask=007
\ No newline at end of file
diff --git a/net-p2p/p2pool/files/p2pool-4.5-r1.initd b/net-p2p/p2pool/files/p2pool-4.5-r1.initd
new file mode 100644
index 000000000..a881ad471
--- /dev/null
+++ b/net-p2p/p2pool/files/p2pool-4.5-r1.initd
@@ -0,0 +1,43 @@
+#!/sbin/openrc-run
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+description="Decentralized Monero mining pool daemon"
+name="P2Pool daemon"
+command="/usr/bin/${RC_SVCNAME}"
+command_background=1
+command_progress=1
+pidfile="/run/${RC_SVCNAME}.pid"
+retry="SIGTERM/31/SIGKILL/5" # shutting down takes 30s
+
+command_user="${P2POOL_USER:-monero}:${P2POOL_GROUP:-monero}"
+umask="${P2POOL_UMASK:=007}"
+SSD_IONICELEVEL="${P2POOL_IONICE:=2:4}"
+SSD_NICELEVEL="${P2POOL_NICE:=5}"
+
+P2POOL_HOST="${P2POOL_HOST:=127.0.0.1}"
+P2POOL_DATADIR="${P2POOL_DATADIR:=/var/lib/p2pool}"
+P2POOL_LOGLEVEL="${P2POOL_LOGLEVEL:=1}"
+
+command_args="--wallet ${P2POOL_WALLET} \
+ --loglevel ${P2POOL_LOGLEVEL} \
+ --data-dir ${P2POOL_DATADIR} \
+ ${P2POOL_OPTS} \
+"
+
+depend() {
+ need net
+ [ ${P2POOL_HOST} = "127.0.0.1" ] && need monerod
+}
+
+start_pre() {
+ if [ ! ${P2POOL_WALLET} ]; then
+ eerror "p2pool cannot be started without a wallet address"
+ eerror "Please set P2POOL_WALLET in /etc/conf.d/p2pool"
+ return 1
+ fi
+ einfo "Will mine for wallet ${P2POOL_WALLET}"
+ checkpath --owner ${command_user} --directory ${P2POOL_DATADIR}
+
+ [ $P2POOL_KEEPLOG ] || rm -f "${P2POOL_DATADIR}"/p2pool.log
+}
diff --git a/net-p2p/p2pool/p2pool-4.5-r1.ebuild b/net-p2p/p2pool/p2pool-4.5-r1.ebuild
new file mode 100644
index 000000000..0003af673
--- /dev/null
+++ b/net-p2p/p2pool/p2pool-4.5-r1.ebuild
@@ -0,0 +1,102 @@
+# 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.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="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(){
+ 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
+}
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2025-05-07 12:08 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-07 12:08 [gentoo-commits] repo/proj/guru:master commit in: net-p2p/p2pool/files/, net-p2p/p2pool/ David Roman
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox