summaryrefslogtreecommitdiff
path: root/net-p2p/p2pool
diff options
context:
space:
mode:
authorBertrand Jacquin <bertrand@jacquin.bzh>2023-02-15 23:11:55 +0000
committerBertrand Jacquin <bertrand@jacquin.bzh>2023-02-18 01:49:47 +0000
commitd03031187478aa4cd0265e7f6d42612f57fdcf21 (patch)
tree172e0fd76f7c3c2eec4cf50576afad7dc49c75ed /net-p2p/p2pool
parentprofiles/common: enable USE=hwloc for net-misc/xmrig (diff)
downloadportage-d03031187478aa4cd0265e7f6d42612f57fdcf21.tar.xz
net-p2p/p2pool: Decentralized pool for Monero mining
Diffstat (limited to 'net-p2p/p2pool')
-rw-r--r--net-p2p/p2pool/files/3.0-build-disable-strip.patch22
-rw-r--r--net-p2p/p2pool/files/3.0-build-randomx-static.patch13
-rw-r--r--net-p2p/p2pool/files/p2pool@.service17
-rw-r--r--net-p2p/p2pool/metadata.xml11
-rw-r--r--net-p2p/p2pool/p2pool-3.0.ebuild55
5 files changed, 118 insertions, 0 deletions
diff --git a/net-p2p/p2pool/files/3.0-build-disable-strip.patch b/net-p2p/p2pool/files/3.0-build-disable-strip.patch
new file mode 100644
index 00000000..b4c968a6
--- /dev/null
+++ b/net-p2p/p2pool/files/3.0-build-disable-strip.patch
@@ -0,0 +1,22 @@
+From 8ec60266561939958bda2d848e480d120edabd9e Mon Sep 17 00:00:00 2001
+From: Bertrand Jacquin <bertrand@jacquin.bzh>
+Date: Thu, 16 Feb 2023 01:20:01 +0000
+Subject: [PATCH] build: disable strip
+
+---
+ cmake/flags.cmake | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/cmake/flags.cmake b/cmake/flags.cmake
+index 832697b97c6d..83a914636b81 100644
+--- a/cmake/flags.cmake
++++ b/cmake/flags.cmake
+@@ -8,7 +8,7 @@ set(CMAKE_C_STANDARD_REQUIRED ON)
+ if (CMAKE_CXX_COMPILER_ID MATCHES GNU)
+ set(GENERAL_FLAGS "-pthread")
+ set(WARNING_FLAGS "-Wall -Wextra -Wcast-align -Wcast-qual -Wlogical-op -Wstrict-overflow=2 -Wundef -Wformat=2 -Wpointer-arith -Werror")
+- set(OPTIMIZATION_FLAGS "-Ofast -s -flto -fuse-linker-plugin")
++ set(OPTIMIZATION_FLAGS "-Ofast -flto -fuse-linker-plugin")
+
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${GENERAL_FLAGS} ${WARNING_FLAGS} ${OPTIMIZATION_FLAGS}")
+ set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} ${GENERAL_FLAGS} ${WARNING_FLAGS} ${OPTIMIZATION_FLAGS}")
diff --git a/net-p2p/p2pool/files/3.0-build-randomx-static.patch b/net-p2p/p2pool/files/3.0-build-randomx-static.patch
new file mode 100644
index 00000000..0ad08058
--- /dev/null
+++ b/net-p2p/p2pool/files/3.0-build-randomx-static.patch
@@ -0,0 +1,13 @@
+diff --git a/./external/src/RandomX/CMakeLists.txt.ori b/./external/src/RandomX/CMakeLists.txt
+index afaf0ee8d410..17f4dc2b57cd 100644
+--- a/./external/src/RandomX/CMakeLists.txt.ori
++++ b/./external/src/RandomX/CMakeLists.txt
+@@ -232,7 +232,7 @@ endif()
+
+ set(RANDOMX_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/src" CACHE STRING "RandomX Include path")
+
+-add_library(randomx ${randomx_sources})
++add_library(randomx STATIC ${randomx_sources})
+
+ set_property(TARGET randomx PROPERTY POSITION_INDEPENDENT_CODE ON)
+ set_property(TARGET randomx PROPERTY CXX_STANDARD 14)
diff --git a/net-p2p/p2pool/files/p2pool@.service b/net-p2p/p2pool/files/p2pool@.service
new file mode 100644
index 00000000..02beef77
--- /dev/null
+++ b/net-p2p/p2pool/files/p2pool@.service
@@ -0,0 +1,17 @@
+[Unit]
+Description=Monero P2Pool
+After=network.target
+
+[Service]
+User=%p
+Group=%p
+WorkingDirectory=~
+RuntimeDirectory=%p/%i
+
+Type=exec
+ExecStart=/usr/bin/p2pool --wallet %i --data-api %t/%p/%i --local-api
+
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
diff --git a/net-p2p/p2pool/metadata.xml b/net-p2p/p2pool/metadata.xml
new file mode 100644
index 00000000..c35c3a50
--- /dev/null
+++ b/net-p2p/p2pool/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>bertrand@jacquin.bzh</email>
+ <name>Bertrand Jacquin</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">SChernykh/p2pool</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/net-p2p/p2pool/p2pool-3.0.ebuild b/net-p2p/p2pool/p2pool-3.0.ebuild
new file mode 100644
index 00000000..41bf909b
--- /dev/null
+++ b/net-p2p/p2pool/p2pool-3.0.ebuild
@@ -0,0 +1,55 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+CMAKE_MAKEFILE_GENERATOR="emake"
+inherit git-r3 cmake systemd
+
+DESCRIPTION="Decentralized pool for Monero mining"
+HOMEPAGE="https://github.com/SChernykh/p2pool"
+EGIT_REPO_URI="https://github.com/SChernykh/${PN}"
+EGIT_COMMIT="v${PV}"
+
+EGIT_SUBMODULES=(
+ external/src/RandomX
+ external/src/robin-hood-hashing
+)
+EGIT_OVERRIDE_BRANCH_CHERNYKH_RANDOMX="${PN}"
+EGIT_OVERRIDE_COMMIT_SCHERNYKH_RANDOMX="1009a63ddf34beb359182aa296437ff4ead3b27d"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND="net-libs/zeromq:=[sodium,pgm]
+ net-libs/cppzmq:=
+ dev-libs/libuv:=
+ net-misc/curl:="
+RDEPEND="${DEPEND}
+ acct-user/p2pool
+ acct-group/p2pool"
+
+PATCHES=(
+ "${FILESDIR}/${PV}-build-disable-strip.patch"
+ "${FILESDIR}/${PV}-build-randomx-static.patch"
+)
+
+src_configure () {
+ local mycmakeargs=(
+ -DSTATIC_BINARY=OFF
+ -DSTATIC_LIBS=OFF
+ -DWITH_RANDOMX=ON
+ -DDEV_TEST_SYNC=OFF
+ )
+ cmake_src_configure
+}
+
+src_install () {
+ dobin "${BUILD_DIR}/p2pool"
+
+ insinto "/usr/share/${PN}"
+ doins -r "${S}/docs/html"
+
+ systemd_dounit "${FILESDIR}/${PN}@.service"
+}