2018-04-24 16:04:25 +01:00
|
|
|
{ stdenv, stdenvGcc6, lib
|
|
|
|
, fetchFromGitHub, cmake, libuv, 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}";
|
2018-06-13 19:16:12 +01:00
|
|
|
version = "2.4.5";
|
2017-12-11 03:22:47 +00:00
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "fireice-uk";
|
|
|
|
repo = "xmr-stak";
|
2018-03-28 05:54:22 +01:00
|
|
|
rev = "${version}";
|
2018-06-13 19:16:12 +01:00
|
|
|
sha256 = "0ix4vqhcm4x9j5p6pwdfwkm2ml6wmwsyn3ppzvxllhp4dj8blzwf";
|
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;
|
|
|
|
maintainers = with maintainers; [ fpletz ];
|
|
|
|
};
|
|
|
|
}
|