[Buildroot] [PATCH/next 1/1] package/xmrig: new package

Bernd Kuhls bernd.kuhls at t-online.de
Sun May 23 10:30:47 UTC 2021


Signed-off-by: Bernd Kuhls <bernd.kuhls at t-online.de>
---
 DEVELOPERS               |  1 +
 package/Config.in        |  1 +
 package/xmrig/Config.in  | 22 ++++++++++++++++++++++
 package/xmrig/xmrig.hash |  3 +++
 package/xmrig/xmrig.mk   | 40 ++++++++++++++++++++++++++++++++++++++++
 5 files changed, 67 insertions(+)
 create mode 100644 package/xmrig/Config.in
 create mode 100644 package/xmrig/xmrig.hash
 create mode 100644 package/xmrig/xmrig.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index a90ad1c354..ffe99a219d 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -456,6 +456,7 @@ F:	package/waylandpp/
 F:	package/x11r7/
 F:	package/x264/
 F:	package/x265/
+F:	package/xmrig/
 F:	package/ytree/
 F:	package/znc/
 F:	support/testing/tests/package/test_perl_html_parser.py
diff --git a/package/Config.in b/package/Config.in
index 4af6057c4d..828c013fe7 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -2059,6 +2059,7 @@ menu "Miscellaneous"
 	source "package/sunwait/Config.in"
 	source "package/taskd/Config.in"
 	source "package/wine/Config.in"
+	source "package/xmrig/Config.in"
 	source "package/xutil_util-macros/Config.in"
 endmenu
 
diff --git a/package/xmrig/Config.in b/package/xmrig/Config.in
new file mode 100644
index 0000000000..3007201610
--- /dev/null
+++ b/package/xmrig/Config.in
@@ -0,0 +1,22 @@
+config BR2_PACKAGE_XMRIG
+	bool "xmrig"
+	# archs officially supported by upstream
+	depends on BR2_aarch64 || BR2_x86_64 || BR2_i386
+	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # libuv
+	depends on BR2_USE_MMU # libuv
+	depends on !BR2_STATIC_LIBS # libuv
+	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libuv
+	# xmrig needs fenv.h which is not provided by uclibc
+	depends on !BR2_TOOLCHAIN_USES_UCLIBC
+	select BR2_PACKAGE_LIBUV
+	help
+	  RandomX, CryptoNight, AstroBWT and Argon2 CPU/GPU miner.
+
+	  https://xmrig.com
+
+comment "xmrig needs a glibc or musl toolchain w/ NPTL, dynamic library"
+	depends on BR2_TOOLCHAIN_USES_UCLIBC || \
+		!BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS
+	depends on BR2_aarch64 || BR2_x86_64 || BR2_i386
+	depends on BR2_USE_MMU
+	depends on BR2_TOOLCHAIN_HAS_SYNC_4
diff --git a/package/xmrig/xmrig.hash b/package/xmrig/xmrig.hash
new file mode 100644
index 0000000000..c80bdd6621
--- /dev/null
+++ b/package/xmrig/xmrig.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256  7570030c4b3e257bda190a100dc59f78b74c823af7561222a99b296f5e7b1ac2  xmrig-6.12.1.tar.gz
+sha256  589ed823e9a84c56feb95ac58e7cf384626b9cbf4fda2a907bc36e103de1bad2  LICENSE
diff --git a/package/xmrig/xmrig.mk b/package/xmrig/xmrig.mk
new file mode 100644
index 0000000000..aa36fcdf57
--- /dev/null
+++ b/package/xmrig/xmrig.mk
@@ -0,0 +1,40 @@
+################################################################################
+#
+# xmrig
+#
+################################################################################
+
+XMRIG_VERSION = 6.12.1
+XMRIG_SITE = $(call github,xmrig,xmrig,v$(XMRIG_VERSION))
+XMRIG_LICENSE = GPL-3.0+
+XMRIG_LICENSE_FILES = LICENSE
+XMRIG_DEPENDENCIES = libuv
+XMRIG_CONF_OPTS = -DWITH_CUDA=OFF
+
+ifeq ($(BR2_PACKAGE_HAS_LIBOPENCL),y)
+XMRIG_CONF_OPTS += -DWITH_OPENCL=ON
+XMRIG_DEPENDENCIES += libopencl
+else
+XMRIG_CONF_OPTS += -DWITH_OPENCL=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_HWLOC),y)
+XMRIG_CONF_OPTS += -DWITH_HWLOC=ON
+XMRIG_DEPENDENCIES += hwloc
+else
+XMRIG_CONF_OPTS += -DWITH_HWLOC=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_OPENSSL),y)
+XMRIG_CONF_OPTS += -DWITH_TLS=ON
+XMRIG_DEPENDENCIES += openssl
+else
+XMRIG_CONF_OPTS += -DWITH_TLS=OFF
+endif
+
+define XMRIG_INSTALL_TARGET_CMDS
+	$(INSTALL) -m 0755 -D $(@D)/xmrig$(if $(BR2_PACKAGE_OPENSSL),,-notls) \
+		$(TARGET_DIR)/usr/bin/xmrig$(if $(BR2_PACKAGE_OPENSSL),,-notls)
+endef
+
+$(eval $(cmake-package))
-- 
2.29.2



More information about the buildroot mailing list