From 976ca8c8e53c75ef47204f548589a6aec8ef675c Mon Sep 17 00:00:00 2001 From: Atemu Date: Sun, 25 Apr 2021 12:36:07 +0200 Subject: [PATCH 1/6] ethminer: add myself as maintainer --- pkgs/tools/misc/ethminer/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/misc/ethminer/default.nix b/pkgs/tools/misc/ethminer/default.nix index 7d2cb5c7ff2..2c14fab680c 100644 --- a/pkgs/tools/misc/ethminer/default.nix +++ b/pkgs/tools/misc/ethminer/default.nix @@ -74,7 +74,7 @@ in stdenv.mkDerivation rec { description = "Ethereum miner with OpenCL, CUDA and stratum support"; homepage = "https://github.com/ethereum-mining/ethminer"; platforms = [ "x86_64-linux" ]; - maintainers = with maintainers; [ nand0p ]; + maintainers = with maintainers; [ nand0p atemu ]; license = licenses.gpl2; }; } From cc7ee239f786e6ff15e3c11285faf6256da7beed Mon Sep 17 00:00:00 2001 From: "Andy Chun @noneucat" Date: Mon, 18 Jan 2021 13:47:24 -0800 Subject: [PATCH 2/6] ethminer: 0.18.0 -> 0.19.0 (cherry picked from commit 3fcdf4ed14d489fa1e96021b037a9910a916535b) --- pkgs/tools/misc/ethminer/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/misc/ethminer/default.nix b/pkgs/tools/misc/ethminer/default.nix index 2c14fab680c..c43c66fcc07 100644 --- a/pkgs/tools/misc/ethminer/default.nix +++ b/pkgs/tools/misc/ethminer/default.nix @@ -23,14 +23,14 @@ let stdenv = clangStdenv; in stdenv.mkDerivation rec { pname = "ethminer"; - version = "0.18.0"; + version = "0.19.0"; src = fetchFromGitHub { owner = "ethereum-mining"; repo = "ethminer"; rev = "v${version}"; - sha256 = "10b6s35axmx8kyzn2vid6l5nnzcaf4nkk7f5f7lg3cizv6lsj707"; + sha256 = "1kyff3vx2r4hjpqah9qk99z6dwz7nsnbnhhl6a76mdhjmgp1q646"; fetchSubmodules = true; }; From a053eae5619bc5613a155e89ed1d155065e35371 Mon Sep 17 00:00:00 2001 From: Atemu Date: Sun, 25 Apr 2021 12:46:56 +0200 Subject: [PATCH 3/6] 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 c43c66fcc07..52bf592a987 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 69c97493219..1b6967c5eeb 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 { }; From 101e5cdceb0dd702705e85da2db68154905a0a1b Mon Sep 17 00:00:00 2001 From: Atemu Date: Sun, 25 Apr 2021 13:04:23 +0200 Subject: [PATCH 4/6] ethminer: use regular stdenv when CUDA isn't used --- pkgs/tools/misc/ethminer/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/misc/ethminer/default.nix b/pkgs/tools/misc/ethminer/default.nix index 52bf592a987..f357a4a9c60 100644 --- a/pkgs/tools/misc/ethminer/default.nix +++ b/pkgs/tools/misc/ethminer/default.nix @@ -1,5 +1,6 @@ { lib, + stdenv, clangStdenv, fetchFromGitHub, opencl-headers, @@ -16,11 +17,11 @@ openssl, pkg-config, cli11 -}: +}@args: # Note that this requires clang < 9.0 to build, and currently # clangStdenv provides clang 7.1 which satisfies the requirement. -let stdenv = clangStdenv; +let stdenv = if cudaSupport then clangStdenv else args.stdenv; in stdenv.mkDerivation rec { pname = "ethminer"; From 7787089f1de027b91837eb6f5c3b917a0dc12b29 Mon Sep 17 00:00:00 2001 From: Atemu Date: Sun, 25 Apr 2021 13:03:33 +0200 Subject: [PATCH 5/6] ethminer: mark cuda version as broken Doesn't build on my machine, needs https://github.com/NixOS/nixpkgs/pull/109838 --- pkgs/tools/misc/ethminer/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/tools/misc/ethminer/default.nix b/pkgs/tools/misc/ethminer/default.nix index f357a4a9c60..08ec9d8a78d 100644 --- a/pkgs/tools/misc/ethminer/default.nix +++ b/pkgs/tools/misc/ethminer/default.nix @@ -81,5 +81,6 @@ in stdenv.mkDerivation rec { platforms = [ "x86_64-linux" ]; maintainers = with maintainers; [ nand0p atemu ]; license = licenses.gpl2; + broken = cudaSupport; }; } From 3c678b70983fdba53d0e998ed9df527b317721a4 Mon Sep 17 00:00:00 2001 From: Atemu Date: Sun, 25 Apr 2021 15:18:23 +0200 Subject: [PATCH 6/6] ethminer: correct license --- pkgs/tools/misc/ethminer/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/misc/ethminer/default.nix b/pkgs/tools/misc/ethminer/default.nix index 08ec9d8a78d..22278cb9a4d 100644 --- a/pkgs/tools/misc/ethminer/default.nix +++ b/pkgs/tools/misc/ethminer/default.nix @@ -80,7 +80,7 @@ in stdenv.mkDerivation rec { homepage = "https://github.com/ethereum-mining/ethminer"; platforms = [ "x86_64-linux" ]; maintainers = with maintainers; [ nand0p atemu ]; - license = licenses.gpl2; + license = licenses.gpl3Only; broken = cudaSupport; }; }