From a053eae5619bc5613a155e89ed1d155065e35371 Mon Sep 17 00:00:00 2001 From: Atemu Date: Sun, 25 Apr 2021 12:46:56 +0200 Subject: [PATCH] ethminer: provide a CUDA-free version CUDA is only needed for Nvidia GPUs; AMD has a fully open stack --- pkgs/tools/misc/ethminer/default.nix | 8 ++++++-- pkgs/top-level/all-packages.nix | 4 +++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/misc/ethminer/default.nix b/pkgs/tools/misc/ethminer/default.nix index c43c66fcc07e..52bf592a987f 100644 --- a/pkgs/tools/misc/ethminer/default.nix +++ b/pkgs/tools/misc/ethminer/default.nix @@ -8,6 +8,7 @@ boost, makeWrapper, cudatoolkit, + cudaSupport, mesa, ethash, opencl-info, @@ -41,6 +42,8 @@ in stdenv.mkDerivation rec { "-DAPICORE=ON" "-DETHDBUS=OFF" "-DCMAKE_BUILD_TYPE=Release" + ] ++ lib.optionals (!cudaSupport) [ + "-DETHASHCUDA=OFF" # on by default ]; nativeBuildInputs = [ @@ -54,12 +57,13 @@ in stdenv.mkDerivation rec { boost opencl-headers mesa - cudatoolkit ethash opencl-info ocl-icd openssl jsoncpp + ] ++ lib.optionals cudaSupport [ + cudatoolkit ]; preConfigure = '' @@ -71,7 +75,7 @@ in stdenv.mkDerivation rec { ''; meta = with lib; { - description = "Ethereum miner with OpenCL, CUDA and stratum support"; + description = "Ethereum miner with OpenCL${lib.optionalString cudaSupport ", CUDA"} and stratum support"; homepage = "https://github.com/ethereum-mining/ethminer"; platforms = [ "x86_64-linux" ]; maintainers = with maintainers; [ nand0p atemu ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 69c974932196..1b6967c5eebb 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3470,7 +3470,9 @@ in ethash = callPackage ../development/libraries/ethash { }; - ethminer = callPackage ../tools/misc/ethminer { }; + ethminer = callPackage ../tools/misc/ethminer { cudaSupport = config.cudaSupport or true; }; + ethminer-cuda = ethminer.override { cudaSupport = true; }; + ethminer-free = ethminer.override { cudaSupport = false; }; cuetools = callPackage ../tools/cd-dvd/cuetools { };