aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Pimentel <adam.pimentel@protonmail.com>2024-08-13 21:01:44 -0400
committerAdam Pimentel <adam.pimentel@protonmail.com>2024-08-13 21:01:44 -0400
commit9c02f33b33796fe6b2f8eb291fae68fde44e56ff (patch)
tree2f04440a29f6a667004fbcf0f29c09be542abcda /net-p2p
parentdev-util/juliaup: add 1.17.1, drop 1.16.10 (diff)
downloadguru-9c02f33b33796fe6b2f8eb291fae68fde44e56ff.tar.gz
guru-9c02f33b33796fe6b2f8eb291fae68fde44e56ff.tar.bz2
guru-9c02f33b33796fe6b2f8eb291fae68fde44e56ff.zip
net-p2p/p2pool: version bump and CFLAGS fixes
Signed-off-by: Adam Pimentel <adam.pimentel@protonmail.com>
Diffstat (limited to 'net-p2p')
-rw-r--r--net-p2p/p2pool/Manifest6
-rw-r--r--net-p2p/p2pool/files/flags.cmake45
-rw-r--r--net-p2p/p2pool/p2pool-4.0.ebuild10
-rw-r--r--net-p2p/p2pool/p2pool-4.1.ebuild106
4 files changed, 155 insertions, 12 deletions
diff --git a/net-p2p/p2pool/Manifest b/net-p2p/p2pool/Manifest
index eb3221a12..68169a012 100644
--- a/net-p2p/p2pool/Manifest
+++ b/net-p2p/p2pool/Manifest
@@ -1,2 +1,8 @@
DIST p2pool-4.0_shasums.asc 2038 BLAKE2B f8f20875a9fa4771753b1eade7c609be761f007ac32a0641109d87890bdd7f2123f11a203d56ffcca5b74b16667e0d8288479688938935434b86875c6c72959c SHA512 bf4a933a81ce9bd48bf293a26d3e4e75b82c67fcfd48d79c57dd86aaac2c2cd54def43b47b05222e0b93fd61623d2c116c403531500a93d45059bca4a0dd3cb4
+<<<<<<< Updated upstream
DIST p2pool-4.0.tar.xz 127772256 BLAKE2B 77de14bd19f43483fa7da0e65f8a27d5f6cf8c2daf5d8d5e07be373c752794bd35c421fd812b65328acd22004766ff235e9ad6e7e613d08ca3c27ac95153cbc3 SHA512 ea37993d13342b303902e6aa6acb090a908ba99ae304d9415480ff39a3647c84a963ab80b317c9c78a9f11631e0ca9547a08c6e0c23b83892037b63d4beef7a2
+=======
+DIST p2pool-4.0_source.tar.xz 127772256 BLAKE2B 77de14bd19f43483fa7da0e65f8a27d5f6cf8c2daf5d8d5e07be373c752794bd35c421fd812b65328acd22004766ff235e9ad6e7e613d08ca3c27ac95153cbc3 SHA512 ea37993d13342b303902e6aa6acb090a908ba99ae304d9415480ff39a3647c84a963ab80b317c9c78a9f11631e0ca9547a08c6e0c23b83892037b63d4beef7a2
+DIST p2pool-4.1_shasums.asc 2007 BLAKE2B 29dfa3e0620f1ce88ed4a0dcad45f0d5b0eb00d2dd063fe83feb9d027e8e58b6e15cdc9244832a9d6f406a3ee3c8fe2b710554336b93d5af71d17b17acd3b0f5 SHA512 a17784e5ec3d181c0218016c2bb69b5b467f33eac3dea0a31e146703b02d6de202bc6f6628abda439aa9846b7e86773d0ae1440453d0a9a5532a097ad5d974f8
+DIST p2pool-4.1_source.tar.xz 127754740 BLAKE2B 6d46920d5fe116f65950bb9dd2fee7feed45f911817302a6c5047602431febac1abacd508fa6f64a84303014212426994a64a26db124501127aee5aed5da1825 SHA512 c0d90fa6b1390a9e0744772b574ab48f78a95980a263d03970adcf51bf7abdf40cefdcafb95daca16c004674b593647f48960bfc8c2630f4852d1c0a9c3b0bb0
+>>>>>>> Stashed changes
diff --git a/net-p2p/p2pool/files/flags.cmake b/net-p2p/p2pool/files/flags.cmake
index ed7e75499..367863e89 100644
--- a/net-p2p/p2pool/files/flags.cmake
+++ b/net-p2p/p2pool/files/flags.cmake
@@ -1,14 +1,37 @@
-set(CMAKE_CXX_STANDARD_REQUIRED ON)
-set(CMAKE_CXX_EXTENSIONS OFF)
-set(CMAKE_CXX_STANDARD 14)
-
-set(CMAKE_C_STANDARD 99)
-set(CMAKE_C_STANDARD_REQUIRED ON)
-
set(GENERAL_FLAGS "-pthread")
+if (CMAKE_CXX_COMPILER_ID MATCHES GNU)
+
+ if (ARMv8)
+ set(GENERAL_FLAGS "${GENERAL_FLAGS} -mfix-cortex-a53-835769 -mfix-cortex-a53-843419")
+ endif()
+
+ set(WARNING_FLAGS "-Wall -Wextra -Wcast-qual -Wlogical-op -Wundef -Wformat=2 -Wpointer-arith -Werror")
+ if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 7.5.0)
+ set(WARNING_FLAGS "${WARNING_FLAGS} -Wstrict-overflow=2")
+ endif()
+
+ if (STATIC_BINARY)
+ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static")
+ else()
+ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static-libgcc -static-libstdc++")
+ endif()
+
+elseif (CMAKE_CXX_COMPILER_ID MATCHES Clang)
+
+ if (ARMv8)
+ set(GENERAL_FLAGS "${GENERAL_FLAGS} -mfix-cortex-a53-835769")
+ endif()
+
+ set(WARNING_FLAGS "-Wall -Wextra -Wno-undefined-internal -Wunreachable-code-aggressive -Wmissing-prototypes -Wmissing-variable-declarations -Werror")
+
+endif()
+
+if (DISABLE_WARNINGS)
+ set(WARNING_FLAGS "-w")
+endif()
-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${GENERAL_FLAGS}")
-set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} ${GENERAL_FLAGS}")
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${GENERAL_FLAGS} ${WARNING_FLAGS}")
+set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} ${GENERAL_FLAGS} ${WARNING_FLAGS}")
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GENERAL_FLAGS}")
-set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${GENERAL_FLAGS}")
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GENERAL_FLAGS} ${WARNING_FLAGS}")
+set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${GENERAL_FLAGS} ${WARNING_FLAGS}")
diff --git a/net-p2p/p2pool/p2pool-4.0.ebuild b/net-p2p/p2pool/p2pool-4.0.ebuild
index b4dbe4ef2..0b1c5ce15 100644
--- a/net-p2p/p2pool/p2pool-4.0.ebuild
+++ b/net-p2p/p2pool/p2pool-4.0.ebuild
@@ -17,6 +17,7 @@ SRC_URI="
LICENSE="BSD GPL-3+ ISC LGPL-3+ MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
+#IUSE="grpc"
DEPEND="
dev-libs/libsodium
@@ -44,12 +45,19 @@ src_unpack() {
mv -T "${WORKDIR}"/${PN} "${WORKDIR}"/${P} || die
}
+src_prepare(){
+ rm "${S}/cmake/flags.cmake" || die
+ cp "${FILESDIR}/flags.cmake" "${S}/cmake/flags.cmake" || die
+ cmake_src_prepare
+ default_src_prepare
+}
+
src_configure() {
local mycmakeargs=(
-DWITH_RANDOMX=OFF
-DWITH_GRPC=OFF
+ #-DWITH_GRPC=$(usex grpc)
)
-
cmake_src_configure
}
diff --git a/net-p2p/p2pool/p2pool-4.1.ebuild b/net-p2p/p2pool/p2pool-4.1.ebuild
new file mode 100644
index 000000000..fd912d246
--- /dev/null
+++ b/net-p2p/p2pool/p2pool-4.1.ebuild
@@ -0,0 +1,106 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+#TODO: verify hell script is safe
+#TODO: enable/fix GRPC dependency and add it as USE flag (https://github.com/SChernykh/p2pool/issues/313)
+
+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}_source.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"
+
+DEPEND="
+ dev-libs/libsodium
+ net-libs/czmq
+"
+BDEPEND="
+ verify-sig? ( sec-keys/openpgp-keys-schernykh )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/SChernykh.asc
+
+src_unpack() {
+ if use verify-sig; then
+ #what we want to do is `verify-sig_verify_signed_checksums ${P}_shasums.asc sha512 p2pool_source.tar.xz`
+ verify-sig_verify_message "${DISTDIR}/${P}_shasums.asc" "${WORKDIR}/p2pool_shasums.txt"
+
+ #start of hell script
+ hellscript_stage=0
+ tr -d '\r' < p2pool_shasums.txt | while IFS='' read -r LINE; do
+ if [ "$hellscript_stage" -eq 0 ] && [ "$LINE" = "Name: p2pool_source.tar.xz" ]; then
+ hellscript_stage=1
+ continue
+ fi
+ if [ "$hellscript_stage" -eq 1 ]; then
+ hellscript_sizestring="Size: $(cat ${DISTDIR}/${P}_source.tar.xz | wc -c) bytes"
+ if [ "${LINE:0:"${#hellscript_sizestring}"}" = "$hellscript_sizestring" ]; then
+ hellscript_stage=2
+ continue
+ else
+ die
+ fi
+ fi
+ if [ "$hellscript_stage" -eq 2 ]; then
+ hellscript_shaprefix="SHA256: "
+ if [ "${LINE:0:"${#hellscript_shaprefix}"}" = "$hellscript_shaprefix" ]; then
+ echo "$(echo "${LINE:"${#hellscript_shaprefix}"}" | tr '[:upper:]' '[:lower:]') ${DISTDIR}/${P}_source.tar.xz" \
+ > "${WORKDIR}/src_shasum.txt"
+ else
+ die
+ fi
+ break
+ fi
+ done
+ verify-sig_verify_unsigned_checksums "${WORKDIR}/src_shasum.txt" sha256 "${DISTDIR}/${P}_source.tar.xz"
+ #end of hell script
+ fi
+ unpack ${P}_source.tar.xz
+ mv -T "${WORKDIR}"/${PN} "${WORKDIR}"/${P} || die
+}
+
+src_prepare(){
+ rm "${S}/cmake/flags.cmake" || die
+ cp "${FILESDIR}/flags.cmake" "${S}/cmake/flags.cmake" || die
+ cmake_src_prepare
+ default_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DWITH_RANDOMX=OFF
+ -DWITH_GRPC=OFF
+ #-DWITH_GRPC=$(usex grpc)
+ )
+ cmake_src_configure
+}
+
+src_install(){
+ dobin "${BUILD_DIR}/p2pool"
+}
+
+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."
+}