diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index a7d83dae9623..53439accd659 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -575,7 +575,6 @@ ./services/misc/etcd.nix ./services/misc/etebase-server.nix ./services/misc/etesync-dav.nix - ./services/misc/ethminer.nix ./services/misc/exhibitor.nix ./services/misc/felix.nix ./services/misc/freeswitch.nix diff --git a/nixos/modules/services/misc/ethminer.nix b/nixos/modules/services/misc/ethminer.nix deleted file mode 100644 index c9b2e24b8bf1..000000000000 --- a/nixos/modules/services/misc/ethminer.nix +++ /dev/null @@ -1,117 +0,0 @@ -{ config, lib, pkgs, ... }: - -with lib; - -let - cfg = config.services.ethminer; - poolUrl = escapeShellArg "stratum1+tcp://${cfg.wallet}@${cfg.pool}:${toString cfg.stratumPort}/${cfg.rig}/${cfg.registerMail}"; -in - -{ - - ###### interface - - options = { - - services.ethminer = { - - enable = mkOption { - type = types.bool; - default = false; - description = lib.mdDoc "Enable ethminer ether mining."; - }; - - recheckInterval = mkOption { - type = types.ints.unsigned; - default = 2000; - description = lib.mdDoc "Interval in milliseconds between farm rechecks."; - }; - - toolkit = mkOption { - type = types.enum [ "cuda" "opencl" ]; - default = "cuda"; - description = lib.mdDoc "Cuda or opencl toolkit."; - }; - - apiPort = mkOption { - type = types.int; - default = -3333; - description = lib.mdDoc "Ethminer api port. minus sign puts api in read-only mode."; - }; - - wallet = mkOption { - type = types.str; - example = "0x0123456789abcdef0123456789abcdef01234567"; - description = lib.mdDoc "Ethereum wallet address."; - }; - - pool = mkOption { - type = types.str; - example = "eth-us-east1.nanopool.org"; - description = lib.mdDoc "Mining pool address."; - }; - - stratumPort = mkOption { - type = types.port; - default = 9999; - description = lib.mdDoc "Stratum protocol tcp port."; - }; - - rig = mkOption { - type = types.str; - default = "mining-rig-name"; - description = lib.mdDoc "Mining rig name."; - }; - - registerMail = mkOption { - type = types.str; - example = "email%40example.org"; - description = lib.mdDoc "Url encoded email address to register with pool."; - }; - - maxPower = mkOption { - type = types.ints.unsigned; - default = 113; - description = lib.mdDoc "Miner max watt usage."; - }; - - }; - - }; - - - ###### implementation - - config = mkIf cfg.enable { - - systemd.services.ethminer = { - path = optionals (cfg.toolkit == "cuda") [ pkgs.cudaPackages.cudatoolkit ]; - description = "ethminer ethereum mining service"; - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ]; - - serviceConfig = { - DynamicUser = true; - ExecStartPre = "${pkgs.ethminer}/bin/.ethminer-wrapped --list-devices"; - ExecStartPost = optional (cfg.toolkit == "cuda") "+${getBin config.boot.kernelPackages.nvidia_x11}/bin/nvidia-smi -pl ${toString cfg.maxPower}"; - Restart = "always"; - }; - - environment = mkIf (cfg.toolkit == "cuda") { - LD_LIBRARY_PATH = "${config.boot.kernelPackages.nvidia_x11}/lib"; - }; - - script = '' - ${pkgs.ethminer}/bin/.ethminer-wrapped \ - --farm-recheck ${toString cfg.recheckInterval} \ - --report-hashrate \ - --${cfg.toolkit} \ - --api-port ${toString cfg.apiPort} \ - --pool ${poolUrl} - ''; - - }; - - }; - -} diff --git a/pkgs/tools/misc/ethminer/add-global-context.patch b/pkgs/tools/misc/ethminer/add-global-context.patch deleted file mode 100644 index f0891e5a2758..000000000000 --- a/pkgs/tools/misc/ethminer/add-global-context.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff --git a/libethcore/CMakeLists.txt b/libethcore/CMakeLists.txt -index 1a53de8..832e926 100644 ---- a/libethcore/CMakeLists.txt -+++ b/libethcore/CMakeLists.txt -@@ -7,7 +7,7 @@ set(SOURCES - include_directories(BEFORE ..) - - add_library(ethcore ${SOURCES}) --target_link_libraries(ethcore PUBLIC devcore ethash::ethash PRIVATE hwmon) -+target_link_libraries(ethcore PUBLIC devcore ethash::ethash ethash-global-context PRIVATE hwmon) - - if(ETHASHCL) - target_link_libraries(ethcore PRIVATE ethash-cl) -diff --git a/libethcore/EthashAux.h b/libethcore/EthashAux.h -index d9aadc7..fe5c6cf 100644 ---- a/libethcore/EthashAux.h -+++ b/libethcore/EthashAux.h -@@ -22,6 +22,7 @@ - #include <libdevcore/Worker.h> - - #include <ethash/ethash.hpp> -+#include <ethash/global_context.hpp> - - namespace dev - { diff --git a/pkgs/tools/misc/ethminer/default.nix b/pkgs/tools/misc/ethminer/default.nix deleted file mode 100644 index 32d1c5500b80..000000000000 --- a/pkgs/tools/misc/ethminer/default.nix +++ /dev/null @@ -1,94 +0,0 @@ -{ - lib, - stdenv, - fetchpatch, - fetchFromGitHub, - opencl-headers, - cmake, - jsoncpp, - boost16x, - makeWrapper, - cudatoolkit, - cudaSupport, - mesa, - ethash, - opencl-info, - ocl-icd, - openssl, - pkg-config, - cli11 -}: - -stdenv.mkDerivation rec { - pname = "ethminer"; - version = "0.19.0"; - - src = - fetchFromGitHub { - owner = "ethereum-mining"; - repo = "ethminer"; - rev = "v${version}"; - sha256 = "1kyff3vx2r4hjpqah9qk99z6dwz7nsnbnhhl6a76mdhjmgp1q646"; - fetchSubmodules = true; - }; - - patches = [ - # global context library is separated from libethash - ./add-global-context.patch - - # CUDA 11 no longer support SM30 - (fetchpatch { - url = "https://github.com/ethereum-mining/ethminer/commit/dae359dff28f376d4ce7ddfbd651dcd34d6dad8f.patch"; - hash = "sha256-CJGKc0rXOcKDX1u5VBzc8gyBi1Me9CNATfQzKViqtAA="; - }) - ]; - - postPatch = '' - sed -i 's/_lib_static//' libpoolprotocols/CMakeLists.txt - ''; - - # NOTE: dbus is broken - cmakeFlags = [ - "-DHUNTER_ENABLED=OFF" - "-DETHASHCUDA=ON" - "-DAPICORE=ON" - "-DETHDBUS=OFF" - "-DCMAKE_BUILD_TYPE=Release" - ] ++ (if cudaSupport then [ - "-DCUDA_PROPAGATE_HOST_FLAGS=off" - ] else [ - "-DETHASHCUDA=OFF" # on by default - ]); - - nativeBuildInputs = [ - cmake - pkg-config - makeWrapper - ]; - - buildInputs = [ - cli11 - boost16x # 1.7x support is broken, see https://github.com/ethereum-mining/ethminer/issues/2393 - opencl-headers - mesa - ethash - opencl-info - ocl-icd - openssl - jsoncpp - ] ++ lib.optionals cudaSupport [ - cudatoolkit - ]; - - postInstall = '' - wrapProgram $out/bin/ethminer --prefix LD_LIBRARY_PATH : /run/opengl-driver/lib - ''; - - meta = with lib; { - 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; [ atemu ]; - license = licenses.gpl3Only; - }; -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 04a672f2e5a8..7e50142f8e3e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5389,10 +5389,6 @@ with pkgs; ethash = callPackage ../development/libraries/ethash { }; - 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 { }; u3-tool = callPackage ../tools/filesystems/u3-tool { };