2018-04-24 16:04:25 +01:00
|
|
|
{ stdenv, stdenvGcc6, lib
|
2018-07-21 01:44:44 +01:00
|
|
|
, fetchFromGitHub, cmake, libmicrohttpd, openssl
|
2017-12-11 03:22:47 +00:00
|
|
|
, opencl-headers, ocl-icd, hwloc, cudatoolkit
|
2017-12-11 08:42:44 +00:00
|
|
|
, devDonationLevel ? "0.0"
|
2017-12-12 13:27:49 +00:00
|
|
|
, cudaSupport ? false
|
2018-03-28 05:54:22 +01:00
|
|
|
, openclSupport ? true
|
2017-12-11 03:22:47 +00:00
|
|
|
}:
|
|
|
|
|
2018-04-24 16:04:25 +01:00
|
|
|
let
|
|
|
|
stdenv' = if cudaSupport then stdenvGcc6 else stdenv;
|
|
|
|
in
|
|
|
|
|
|
|
|
stdenv'.mkDerivation rec {
|
2017-12-11 03:22:47 +00:00
|
|
|
name = "xmr-stak-${version}";
|
2019-08-06 12:06:43 +01:00
|
|
|
version = "2.10.7";
|
2017-12-11 03:22:47 +00:00
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "fireice-uk";
|
|
|
|
repo = "xmr-stak";
|
2019-09-09 00:38:31 +01:00
|
|
|
rev = version;
|
2019-08-06 12:06:43 +01:00
|
|
|
sha256 = "1p8hx8gwnv7a49pffq1xmzmrfi3gs6dyra9dn2xi7cl75yn9kfhm";
|
2017-12-11 03:22:47 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
NIX_CFLAGS_COMPILE = "-O3";
|
|
|
|
|
2017-12-12 13:27:49 +00:00
|
|
|
cmakeFlags = lib.optional (!cudaSupport) "-DCUDA_ENABLE=OFF"
|
|
|
|
++ lib.optional (!openclSupport) "-DOpenCL_ENABLE=OFF";
|
2017-12-11 03:22:47 +00:00
|
|
|
|
|
|
|
nativeBuildInputs = [ cmake ];
|
2017-12-12 13:27:49 +00:00
|
|
|
buildInputs = [ libmicrohttpd openssl hwloc ]
|
|
|
|
++ lib.optional cudaSupport cudatoolkit
|
|
|
|
++ lib.optionals openclSupport [ opencl-headers ocl-icd ];
|
2017-12-11 03:22:47 +00:00
|
|
|
|
|
|
|
postPatch = ''
|
|
|
|
substituteInPlace xmrstak/donate-level.hpp \
|
2017-12-11 08:42:44 +00:00
|
|
|
--replace 'fDevDonationLevel = 2.0' 'fDevDonationLevel = ${devDonationLevel}'
|
2017-12-11 03:22:47 +00:00
|
|
|
'';
|
|
|
|
|
|
|
|
meta = with lib; {
|
|
|
|
description = "Unified All-in-one Monero miner";
|
|
|
|
homepage = "https://github.com/fireice-uk/xmr-stak";
|
|
|
|
license = licenses.gpl3Plus;
|
2019-08-06 19:06:22 +01:00
|
|
|
platforms = [ "x86_64-linux" ];
|
2018-10-19 07:32:22 +01:00
|
|
|
maintainers = with maintainers; [ fpletz bfortz ];
|
2017-12-11 03:22:47 +00:00
|
|
|
};
|
|
|
|
}
|