aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/applications/misc/xmr-stak/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/applications/misc/xmr-stak/default.nix')
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/misc/xmr-stak/default.nix46
1 files changed, 46 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/misc/xmr-stak/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/misc/xmr-stak/default.nix
new file mode 100644
index 000000000000..cb4233be8ec3
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/misc/xmr-stak/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, stdenvGcc6, lib
+, fetchFromGitHub, cmake, libmicrohttpd_0_9_70, openssl
+, opencl-headers, ocl-icd, hwloc, cudatoolkit
+, devDonationLevel ? "0.0"
+, cudaSupport ? false
+, openclSupport ? true
+}:
+
+let
+ stdenv' = if cudaSupport then stdenvGcc6 else stdenv;
+in
+
+stdenv'.mkDerivation rec {
+ name = "xmr-stak-${version}";
+ version = "2.10.8";
+
+ src = fetchFromGitHub {
+ owner = "fireice-uk";
+ repo = "xmr-stak";
+ rev = version;
+ sha256 = "0ilx5mhh91ks7dwvykfyynh53l6vkkignjpwkkss8ss6b2k8gdbj";
+ };
+
+ NIX_CFLAGS_COMPILE = "-O3";
+
+ cmakeFlags = lib.optional (!cudaSupport) "-DCUDA_ENABLE=OFF"
+ ++ lib.optional (!openclSupport) "-DOpenCL_ENABLE=OFF";
+
+ nativeBuildInputs = [ cmake ];
+ buildInputs = [ libmicrohttpd_0_9_70 openssl hwloc ]
+ ++ lib.optional cudaSupport cudatoolkit
+ ++ lib.optionals openclSupport [ opencl-headers ocl-icd ];
+
+ postPatch = ''
+ substituteInPlace xmrstak/donate-level.hpp \
+ --replace 'fDevDonationLevel = 2.0' 'fDevDonationLevel = ${devDonationLevel}'
+ '';
+
+ meta = with lib; {
+ description = "Unified All-in-one Monero miner";
+ homepage = "https://github.com/fireice-uk/xmr-stak";
+ license = licenses.gpl3Plus;
+ platforms = [ "x86_64-linux" ];
+ maintainers = with maintainers; [ fpletz bfortz ];
+ };
+}