(address . guix-patches@gnu.org)
Here are two patches to add, respectively, the xmrig monero mining
software and p2pool, a decentralized mining pool.
Cheers
From 912cc0657b3de6eca9771f11b6bdade0fa24ddcc Mon Sep 17 00:00:00 2001
From: terramorpha <terramorpha@cock.li>
Date: Sat, 19 Feb 2022 18:07:42 -0500
Subject: [PATCH 2/2] gnu: Add p2pool.
* gnu/packages/finance.scm (p2pool): New variable.
---
gnu/packages/finance.scm | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)
Toggle diff (56 lines)
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 6d4e71ee24..ae344f010c 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -82,6 +82,7 @@ (define-module (gnu packages finance)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages groff)
+ #:use-module (gnu packages gsasl)
#:use-module (gnu packages gtk)
#:use-module (gnu packages haskell-check)
#:use-module (gnu packages haskell-web)
@@ -897,6 +898,41 @@ (define-public xmrig
and RandomX benchmark.")
(license license:gpl3)))
+(define-public p2pool
+ (package
+ (name "p2pool")
+ (version "1.7")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/SChernykh/p2pool")
+ (commit (string-append "v" version))
+ (recursive? #t)))
+ (sha256 (base32 "0jxl7j8x4nc65c8mdilifqy1gz1881g3qmmi48wvpciv8pbw45x2"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ ;; There are no tests.
+ #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'install 'install-p2pool
+ ;; The 'install' target forgets to install the binary
+ (lambda* (#:key outputs #:allow-other-keys)
+ (use-modules (guix build utils))
+ (install-file "p2pool" (string-append (assoc-ref outputs "out") "/bin"))
+ #t)))))
+ (inputs
+ (list libuv zeromq gss))
+ (home-page "https://p2pool.io/")
+ (synopsis "Decentralized Monero mining pool")
+ (description "Monero P2Pool is a peer-to-peer Monero mining pool. P2Pool
+combines the advantages of pool and solo mining; you still fully control your
+Monero node and what it mines, but you get frequent payouts like on a regular
+pool.")
+ (license license:gpl3)))
+
(define-public python-trezor-agent
;; It is called 'libagent' in pypi; i.e. this is the library as opposed to
;; the toplevel app called trezor-agent.
--
2.34.0
From 13e1d1b98f105b7c9d24735f7d05a6ec8b6b8e0b Mon Sep 17 00:00:00 2001
From: terramorpha <terramorpha@cock.li>
Date: Sat, 19 Feb 2022 14:34:50 -0500
Subject: [PATCH 1/2] gnu: Add xmrig.
* gnu/packages/finance.scm (xmrig): New variable.
---
gnu/packages/finance.scm | 40 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
Toggle diff (67 lines)
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 985eaa87f7..6d4e71ee24 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -26,6 +26,7 @@
;;; Copyright © 2021 François J <francois-oss@avalenn.eu>
;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
;;; Copyright © 2021 John Kehayias <john.kehayias@protonmail.com>
+;;; Copyright © 2022 Justin Veilleux <terramorpha@cock.li>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -93,6 +94,7 @@ (define-module (gnu packages finance)
#:use-module (gnu packages linux)
#:use-module (gnu packages man)
#:use-module (gnu packages maths)
+ #:use-module (gnu packages mpi)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages networking)
@@ -857,6 +859,44 @@ (define-public monero-gui
the Monero GUI client.")
(license license:bsd-3)))
+(define-public xmrig
+ (package
+ (name "xmrig")
+ (version "6.16.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/xmrig/xmrig")
+ (commit (string-append "v" version))))
+ (sha256 (base32 "0mp7q14pfbdjvjai6nw6psqakr1hnzkkn4c51iw578866n2lmxw5"))))
+ (build-system cmake-build-system)
+ (inputs
+ (list
+ `(,hwloc "lib")
+ libuv
+ openssl))
+ (arguments
+ (list
+ ;; There are no tests.
+ #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'install
+ ;; There is no 'install' target, we must install xmrig manually
+ (lambda* (#:key outputs #:allow-other-keys)
+ (use-modules (guix build utils))
+ (install-file "xmrig" (string-append (assoc-ref outputs "out") "/bin"))
+ #t)))))
+ (home-page "https://xmrig.com/")
+ (synopsis "XMR miner")
+ (description
+ "XMRig is a high performance, open source, cross platform
+RandomX, KawPow, CryptoNight, AstroBWT and GhostRider unified CPU/GPU miner
+and RandomX benchmark.")
+ (license license:gpl3)))
+
(define-public python-trezor-agent
;; It is called 'libagent' in pypi; i.e. this is the library as opposed to
;; the toplevel app called trezor-agent.
--
2.34.0