diff mbox series

[bug#54068] Add xmrig and p2pool

Message ID fd7a683c-7367-ce14-8f81-df165e119b3d@cock.li
State Accepted
Headers show
Series [bug#54068] Add xmrig and p2pool | expand

Commit Message

Justin Veilleux April 6, 2022, 7:46 p.m. UTC
You are right, this is simpler

Regarding the other distros and the automatic/minimum donation, I found 
that most major distributions*
patch out the minimum donation level(but keep the default of 1%) and few 
leave it unchanged.

*: https://repology.org/project/xmrig/versions
diff mbox series

Patch

From 0851821735fef3df3e1792644a8544af79a45e0f Mon Sep 17 00:00:00 2001
From: terramorpha <terramorpha@cock.li>
Date: Tue, 5 Apr 2022 20:46:35 -0400
Subject: [PATCH] gnu: Add xmrig.

* gnu/packages/finance.scm (xmrig): New variable.
---
 gnu/packages/finance.scm | 57 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 57 insertions(+)

diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 9f2d055048..87727b987a 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)
@@ -1978,3 +1980,58 @@  (define-public python-mt-940
 format used by SWIFT.  It returns smart Python collections for statistics
 and manipulation.")
     (license license:bsd-3)))
+
+(define-public xmrig
+  (package
+   (name "xmrig")
+    (version "6.17.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/xmrig/xmrig")
+         (commit (string-append "v" version))))
+       (sha256 (base32 "11wh2ry3dnjynzc9a3nd8mfja7h6nxmx4fwaha82ssz5dkfqvj9b"))
+       (modules '((guix build utils)))
+       (snippet
+        #~(substitute* "src/donate.h"
+            (("constexpr const int kDefaultDonateLevel = 1;")
+             "constexpr const int kDefaultDonateLevel = 0;")
+            (("constexpr const int kMinimumDonateLevel = 1;")
+             "constexpr const int kMinimumDonateLevel = 0;")))))
+    (build-system cmake-build-system)
+    (inputs
+     (list
+      `(,hwloc "lib")
+      libuv
+      openssl))
+    (arguments
+     (list
+      ;; There are no tests.
+      #:tests? #f
+      #:modules '((guix build utils)
+                  (guix build cmake-build-system))
+      #:phases
+      #~(modify-phases
+         %standard-phases
+         (replace 'install
+                  ;; There is no 'install' target, we must install xmrig manually
+                  (lambda* (#:key #:allow-other-keys)
+                    (install-file "xmrig"
+                                  (string-append #$output "/bin")))))))
+    (home-page "https://xmrig.com/")
+    (synopsis "Monero miner")
+    (description
+     "XMRig is a high performance, open source, cross platform RandomX, KawPow,
+CryptoNight, AstroBWT and GhostRider unified CPU/GPU miner and RandomX
+benchmark.
+
+Warning: upstream, by default, receives a percentage of the mining time. This
+anti-functionality has been neutralised in Guix, but possibly not in all other
+distributions.
+
+Warning: This software, because of it's nature, has high energy consumption
+and will increase your carbon footprint. Also, the energy expenses might be
+higher that the cryptocurrency gained by mining.")
+    (license license:gpl3+)))
-- 
2.34.0