1 |
commit: 689374c04d16806fb4d5aac889c9088f0b430774 |
2 |
Author: Craig Andrews <candrews <AT> gentoo <DOT> org> |
3 |
AuthorDate: Wed Nov 27 22:16:50 2019 +0000 |
4 |
Commit: Craig Andrews <candrews <AT> gentoo <DOT> org> |
5 |
CommitDate: Thu Nov 28 17:06:27 2019 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=689374c0 |
7 |
|
8 |
net-p2p/xmr-stak-rx: Monero RandomX Miner |
9 |
|
10 |
Package-Manager: Portage-2.3.79, Repoman-2.3.18 |
11 |
Signed-off-by: Craig Andrews <candrews <AT> gentoo.org> |
12 |
|
13 |
net-p2p/xmr-stak-rx/Manifest | 1 + |
14 |
net-p2p/xmr-stak-rx/files/xmr-stak-rx | 24 ++++++++++ |
15 |
net-p2p/xmr-stak-rx/files/xmr-stak-rx.service | 32 +++++++++++++ |
16 |
net-p2p/xmr-stak-rx/metadata.xml | 17 +++++++ |
17 |
net-p2p/xmr-stak-rx/xmr-stak-rx-1.0.1.ebuild | 65 +++++++++++++++++++++++++++ |
18 |
net-p2p/xmr-stak-rx/xmr-stak-rx-9999.ebuild | 65 +++++++++++++++++++++++++++ |
19 |
6 files changed, 204 insertions(+) |
20 |
|
21 |
diff --git a/net-p2p/xmr-stak-rx/Manifest b/net-p2p/xmr-stak-rx/Manifest |
22 |
new file mode 100644 |
23 |
index 00000000000..a85b06cd744 |
24 |
--- /dev/null |
25 |
+++ b/net-p2p/xmr-stak-rx/Manifest |
26 |
@@ -0,0 +1 @@ |
27 |
+DIST xmr-stak-rx-1.0.1.tar.gz 500735 BLAKE2B 112b75122f35358c8558dec116a5f37bbbd13e9f57a767e03e85da37ab4a408831aa50bf5f2415451f776492b42c5a4a36de730fefc7d99bb13f437c9007d549 SHA512 488884948ad66445c37725397152201883feef8aff5afecaa93297a5bb45e65173b095e2e796d729bd8e9c778e94ee6fb65146250be54c39b10635a2569b6866 |
28 |
|
29 |
diff --git a/net-p2p/xmr-stak-rx/files/xmr-stak-rx b/net-p2p/xmr-stak-rx/files/xmr-stak-rx |
30 |
new file mode 100644 |
31 |
index 00000000000..7803b4eb27a |
32 |
--- /dev/null |
33 |
+++ b/net-p2p/xmr-stak-rx/files/xmr-stak-rx |
34 |
@@ -0,0 +1,24 @@ |
35 |
+#!/sbin/openrc-run |
36 |
+# Copyright 1999-2019 Gentoo Authors |
37 |
+# Distributed under the terms fo the GNU General Public License, v2 |
38 |
+# /etc/init.d/xmr-stak-rx |
39 |
+name="xmr-stak-rx" |
40 |
+description="Free RandomX miner" |
41 |
+pidfile=/run/xmr-stak-rx.pid |
42 |
+command=/usr/bin/xmr-stak-rx |
43 |
+command_args="--cpu /etc/xmr-stak-rx/cpu.config --amd /etc/xmr-stak-rx/amd.config --nvidia /etc/xmr-stak-rx/nvidia.config -c /etc/xmr-stak-rx/main.config -C /etc/xmr-stak-rx/pools.txt" |
44 |
+start_stop_daemon_args="--background --make-pidfile" |
45 |
+ |
46 |
+start_pre() { |
47 |
+ if [ ! -r /etc/xmr-stak-rx/main.config ]; then |
48 |
+ eerror "/etc/xmr-stak-rx/main.config is missing." |
49 |
+ errror "Run:" |
50 |
+ eerror "/usr/bin/xmr-stak-rx --cpu /etc/xmr-stak-rx/cpu.config --amd /etc/xmr-stak-rx/amd.config --nvidia /etc/xmr-stak-rx/nvidia.config -c /etc/xmr-stak-rx/main.config -C /etc/xmr-stak-rx/pools.txt" |
51 |
+ errror "xmr-stak-rx can now be terminated and this service can be started" |
52 |
+ return 1 |
53 |
+ fi |
54 |
+} |
55 |
+ |
56 |
+depend() { |
57 |
+ use dns net |
58 |
+} |
59 |
|
60 |
diff --git a/net-p2p/xmr-stak-rx/files/xmr-stak-rx.service b/net-p2p/xmr-stak-rx/files/xmr-stak-rx.service |
61 |
new file mode 100644 |
62 |
index 00000000000..d65af4945df |
63 |
--- /dev/null |
64 |
+++ b/net-p2p/xmr-stak-rx/files/xmr-stak-rx.service |
65 |
@@ -0,0 +1,32 @@ |
66 |
+[Unit] |
67 |
+Description=Monero RandomX Miner |
68 |
+After=network-online.target |
69 |
+AssertFileNotEmpty=/etc/xmr-stak-rx/main.config |
70 |
+ |
71 |
+[Service] |
72 |
+Environment=GPU_FORCE_64BIT_PTR=1 |
73 |
+Environment=GPU_MAX_HEAP_SIZE=100 |
74 |
+Environment=GPU_USE_SYNC_OBJECTS=1 |
75 |
+Environment=GPU_MAX_ALLOC_PERCENT=100 |
76 |
+Environment=GPU_SINGLE_ALLOC_PERCENT=100 |
77 |
+ExecStart=/usr/bin/xmr-stak-rx --cpu /etc/xmr-stak-rx/cpu.config --amd /etc/xmr-stak-rx/amd.config --nvidia /etc/xmr-stak-rx/nvidia.config -c /etc/xmr-stak-rx/main.config -C /etc/xmr-stak-rx/pools.txt |
78 |
+DynamicUser=true |
79 |
+Group=video |
80 |
+CPUSchedulingPolicy=idle |
81 |
+PrivateTmp=true |
82 |
+ProtectHome=true |
83 |
+ProtectSystem=strict |
84 |
+NoNewPrivileges=true |
85 |
+CapabilityBoundingSet= |
86 |
+MemoryDenyWriteExecute=true |
87 |
+ProtectKernelModules=true |
88 |
+ProtectKernelTunables=true |
89 |
+ProtectControlGroups=true |
90 |
+RestrictRealtime=true |
91 |
+RestrictAddressFamilies=AF_INET AF_INET6 AF_UNIX |
92 |
+RestrictNamespaces=true |
93 |
+PrivateUsers=true |
94 |
+ConfigurationDirectory=xmr-stak-rx |
95 |
+ |
96 |
+[Install] |
97 |
+WantedBy=multi-user.target |
98 |
|
99 |
diff --git a/net-p2p/xmr-stak-rx/metadata.xml b/net-p2p/xmr-stak-rx/metadata.xml |
100 |
new file mode 100644 |
101 |
index 00000000000..e487487db1d |
102 |
--- /dev/null |
103 |
+++ b/net-p2p/xmr-stak-rx/metadata.xml |
104 |
@@ -0,0 +1,17 @@ |
105 |
+<?xml version="1.0" encoding="UTF-8"?> |
106 |
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> |
107 |
+<pkgmetadata> |
108 |
+ <maintainer type="person"> |
109 |
+ <email>candrews@g.o</email> |
110 |
+ <name>Craig Andrews</name> |
111 |
+ </maintainer> |
112 |
+ <upstream> |
113 |
+ <remote-id type="github">fireice-uk/xmr-stak</remote-id> |
114 |
+ </upstream> |
115 |
+ <use> |
116 |
+ <flag name="cuda">Enable NVIDIA CUDA toolkit support</flag> |
117 |
+ <flag name="hwloc">Enable CPU affinity support via hwloc</flag> |
118 |
+ <flag name="opencl">Enable OpenCL support</flag> |
119 |
+ <flag name="webserver">Enable internal webserver</flag> |
120 |
+ </use> |
121 |
+</pkgmetadata> |
122 |
|
123 |
diff --git a/net-p2p/xmr-stak-rx/xmr-stak-rx-1.0.1.ebuild b/net-p2p/xmr-stak-rx/xmr-stak-rx-1.0.1.ebuild |
124 |
new file mode 100644 |
125 |
index 00000000000..5bd13426b52 |
126 |
--- /dev/null |
127 |
+++ b/net-p2p/xmr-stak-rx/xmr-stak-rx-1.0.1.ebuild |
128 |
@@ -0,0 +1,65 @@ |
129 |
+# Copyright 1999-2019 Gentoo Authors |
130 |
+# Distributed under the terms of the GNU General Public License v2 |
131 |
+ |
132 |
+EAPI=7 |
133 |
+ |
134 |
+inherit cmake-utils systemd |
135 |
+ |
136 |
+if [[ ${PV} == "9999" ]] ; then |
137 |
+ EGIT_REPO_URI="https://github.com/fireice-uk/xmr-stak.git" |
138 |
+ EGIT_BRANCH="xmr-stak-rx-dev" |
139 |
+ inherit git-r3 |
140 |
+ SRC_URI="" |
141 |
+else |
142 |
+ SRC_URI="https://github.com/fireice-uk/xmr-stak/archive/${PV}-rx.tar.gz -> ${P}.tar.gz" |
143 |
+ S="${WORKDIR}/xmr-stak-${PV}-rx" |
144 |
+ KEYWORDS="~amd64" |
145 |
+fi |
146 |
+ |
147 |
+DESCRIPTION="Monero RandomX Miner" |
148 |
+HOMEPAGE="https://github.com/fireice-uk/xmr-stak" |
149 |
+LICENSE="GPL-3" |
150 |
+SLOT="0" |
151 |
+IUSE="cuda hwloc opencl ssl webserver" |
152 |
+ |
153 |
+DEPEND="cuda? ( dev-util/nvidia-cuda-toolkit ) |
154 |
+ hwloc? ( sys-apps/hwloc ) |
155 |
+ opencl? ( virtual/opencl ) |
156 |
+ ssl? ( dev-libs/openssl:0= ) |
157 |
+ webserver? ( net-libs/libmicrohttpd )" |
158 |
+RDEPEND="${DEPEND}" |
159 |
+ |
160 |
+src_prepare() { |
161 |
+ cmake-utils_src_prepare |
162 |
+} |
163 |
+ |
164 |
+src_configure() { |
165 |
+ local mycmakeargs=( |
166 |
+ -DCUDA_ENABLE=$(usex cuda) |
167 |
+ -DHWLOC_ENABLE=$(usex hwloc) |
168 |
+ -DMICROHTTPD_ENABLE=$(usex webserver) |
169 |
+ -DOpenCL_ENABLE=$(usex opencl) |
170 |
+ -DOpenSSL_ENABLE=$(usex ssl) |
171 |
+ -DLIBRARY_OUTPUT_PATH=$(get_libdir) |
172 |
+ ) |
173 |
+ cmake-utils_src_configure |
174 |
+} |
175 |
+ |
176 |
+src_install() { |
177 |
+ cmake-utils_src_install |
178 |
+ systemd_newunit "${FILESDIR}"/${PN}.service ${PN}.service |
179 |
+ doinitd "${FILESDIR}"/${PN} |
180 |
+ dodir /etc/xmr-stak-rx |
181 |
+} |
182 |
+ |
183 |
+pkg_postinst() { |
184 |
+ if [ ! -e "${ROOT}/etc/xmr-stak-rx/main.config" ]; then |
185 |
+ ewarn "To use xmr-stack-rx:" |
186 |
+ if use cuda || use opencl; then |
187 |
+ ewarn "As root or as a user that is a member of the 'video' group," |
188 |
+ fi |
189 |
+ ewarn "run:" |
190 |
+ ewarn "/usr/bin/xmr-stak-rx --cpu /etc/xmr-stak-rx/cpu.config --amd /etc/xmr-stak-rx/amd.config --nvidia /etc/xmr-stak-rx/nvidia.config -c /etc/xmr-stak-rx/main.config -C /etc/xmr-stak-rx/pools.txt" |
191 |
+ ewarn "xmr-stak-rx can now be terminated and 'systemctl start xmr-stak-rx' or '/etc/init.d/xmr-stak-rx start' can be used." |
192 |
+ fi |
193 |
+} |
194 |
|
195 |
diff --git a/net-p2p/xmr-stak-rx/xmr-stak-rx-9999.ebuild b/net-p2p/xmr-stak-rx/xmr-stak-rx-9999.ebuild |
196 |
new file mode 100644 |
197 |
index 00000000000..5bd13426b52 |
198 |
--- /dev/null |
199 |
+++ b/net-p2p/xmr-stak-rx/xmr-stak-rx-9999.ebuild |
200 |
@@ -0,0 +1,65 @@ |
201 |
+# Copyright 1999-2019 Gentoo Authors |
202 |
+# Distributed under the terms of the GNU General Public License v2 |
203 |
+ |
204 |
+EAPI=7 |
205 |
+ |
206 |
+inherit cmake-utils systemd |
207 |
+ |
208 |
+if [[ ${PV} == "9999" ]] ; then |
209 |
+ EGIT_REPO_URI="https://github.com/fireice-uk/xmr-stak.git" |
210 |
+ EGIT_BRANCH="xmr-stak-rx-dev" |
211 |
+ inherit git-r3 |
212 |
+ SRC_URI="" |
213 |
+else |
214 |
+ SRC_URI="https://github.com/fireice-uk/xmr-stak/archive/${PV}-rx.tar.gz -> ${P}.tar.gz" |
215 |
+ S="${WORKDIR}/xmr-stak-${PV}-rx" |
216 |
+ KEYWORDS="~amd64" |
217 |
+fi |
218 |
+ |
219 |
+DESCRIPTION="Monero RandomX Miner" |
220 |
+HOMEPAGE="https://github.com/fireice-uk/xmr-stak" |
221 |
+LICENSE="GPL-3" |
222 |
+SLOT="0" |
223 |
+IUSE="cuda hwloc opencl ssl webserver" |
224 |
+ |
225 |
+DEPEND="cuda? ( dev-util/nvidia-cuda-toolkit ) |
226 |
+ hwloc? ( sys-apps/hwloc ) |
227 |
+ opencl? ( virtual/opencl ) |
228 |
+ ssl? ( dev-libs/openssl:0= ) |
229 |
+ webserver? ( net-libs/libmicrohttpd )" |
230 |
+RDEPEND="${DEPEND}" |
231 |
+ |
232 |
+src_prepare() { |
233 |
+ cmake-utils_src_prepare |
234 |
+} |
235 |
+ |
236 |
+src_configure() { |
237 |
+ local mycmakeargs=( |
238 |
+ -DCUDA_ENABLE=$(usex cuda) |
239 |
+ -DHWLOC_ENABLE=$(usex hwloc) |
240 |
+ -DMICROHTTPD_ENABLE=$(usex webserver) |
241 |
+ -DOpenCL_ENABLE=$(usex opencl) |
242 |
+ -DOpenSSL_ENABLE=$(usex ssl) |
243 |
+ -DLIBRARY_OUTPUT_PATH=$(get_libdir) |
244 |
+ ) |
245 |
+ cmake-utils_src_configure |
246 |
+} |
247 |
+ |
248 |
+src_install() { |
249 |
+ cmake-utils_src_install |
250 |
+ systemd_newunit "${FILESDIR}"/${PN}.service ${PN}.service |
251 |
+ doinitd "${FILESDIR}"/${PN} |
252 |
+ dodir /etc/xmr-stak-rx |
253 |
+} |
254 |
+ |
255 |
+pkg_postinst() { |
256 |
+ if [ ! -e "${ROOT}/etc/xmr-stak-rx/main.config" ]; then |
257 |
+ ewarn "To use xmr-stack-rx:" |
258 |
+ if use cuda || use opencl; then |
259 |
+ ewarn "As root or as a user that is a member of the 'video' group," |
260 |
+ fi |
261 |
+ ewarn "run:" |
262 |
+ ewarn "/usr/bin/xmr-stak-rx --cpu /etc/xmr-stak-rx/cpu.config --amd /etc/xmr-stak-rx/amd.config --nvidia /etc/xmr-stak-rx/nvidia.config -c /etc/xmr-stak-rx/main.config -C /etc/xmr-stak-rx/pools.txt" |
263 |
+ ewarn "xmr-stak-rx can now be terminated and 'systemctl start xmr-stak-rx' or '/etc/init.d/xmr-stak-rx start' can be used." |
264 |
+ fi |
265 |
+} |