nixpkgs/pkgs/development/libraries/ethash/default.nix
2020-08-31 16:51:51 +02:00

59 lines
1.3 KiB
Nix

{ stdenv, fetchFromGitHub, cmake, boost, cryptopp, opencl-headers, opencl-info,
openmpi, ocl-icd, mesa, gbenchmark, gtest }:
stdenv.mkDerivation rec {
pname = "ethash";
version = "0.5.2";
src =
fetchFromGitHub {
owner = "chfast";
repo = "ethash";
rev = "v${version}";
sha256 = "0shr3m33raxy9j2mpm3q9mdbchs3nhgfaywidyxgmwqaiw1xpyif";
};
nativeBuildInputs = [
cmake
];
buildInputs = [
boost
cryptopp
opencl-headers
opencl-info
openmpi
ocl-icd
mesa
];
checkInputs = [
gbenchmark
gtest
];
#preConfigure = ''
# sed -i 's/GTest::main//' test/unittests/CMakeLists.txt
# cat test/unittests/CMakeLists.txt
# ln -sfv ${gtest.src}/googletest gtest
#'';
# NOTE: disabling tests due to gtest issue
cmakeFlags = [
"-DHUNTER_ENABLED=OFF"
"-DETHASH_BUILD_TESTS=OFF"
#"-Dbenchmark_DIR=${gbenchmark}/lib/cmake/benchmark"
#"-DGTest_DIR=${gtest.dev}/lib/cmake/GTest"
#"-DGTest_DIR=${gtest.src}/googletest"
#"-DCMAKE_PREFIX_PATH=${gtest.dev}/lib/cmake"
];
meta = with stdenv.lib; {
description = "PoW algorithm for Ethereum 1.0 based on Dagger-Hashimoto";
homepage = "https://github.com/ethereum/ethash";
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ nand0p ];
license = licenses.asl20;
};
}