1{ lib, stdenv, fetchFromGitHub, cmake, gbenchmark, gtest }:
2
3stdenv.mkDerivation rec {
4 pname = "ethash";
5 version = "0.8.0";
6
7 src =
8 fetchFromGitHub {
9 owner = "chfast";
10 repo = "ethash";
11 rev = "v${version}";
12 sha256 = "sha256-4SJk4niSpLPjymwTCD0kHOrqpMf+vE3J/O7DiffUSJ4=";
13 };
14
15 nativeBuildInputs = [
16 cmake
17 ];
18
19 nativeCheckInputs = [
20 gbenchmark
21 gtest
22 ];
23
24 #preConfigure = ''
25 # sed -i 's/GTest::main//' test/unittests/CMakeLists.txt
26 # cat test/unittests/CMakeLists.txt
27 # ln -sfv ${gtest.src}/googletest gtest
28 #'';
29
30 # NOTE: disabling tests due to gtest issue
31 cmakeFlags = [
32 "-DHUNTER_ENABLED=OFF"
33 "-DETHASH_BUILD_TESTS=OFF"
34 #"-Dbenchmark_DIR=${gbenchmark}/lib/cmake/benchmark"
35 #"-DGTest_DIR=${gtest.dev}/lib/cmake/GTest"
36 #"-DGTest_DIR=${gtest.src}/googletest"
37 #"-DCMAKE_PREFIX_PATH=${gtest.dev}/lib/cmake"
38 ];
39
40 meta = with lib; {
41 description = "PoW algorithm for Ethereum 1.0 based on Dagger-Hashimoto";
42 homepage = "https://github.com/ethereum/ethash";
43 platforms = platforms.unix;
44 maintainers = with maintainers; [ ];
45 license = licenses.asl20;
46 };
47}