1{ lib, fetchFromGitHub, buildPythonPackage, pytest, eth-hash, eth-typing,
2 cytoolz, hypothesis }:
3
4buildPythonPackage rec {
5 pname = "eth-utils";
6 version = "1.2.1";
7
8 # Tests are missing from the PyPI source tarball so let's use GitHub
9 # https://github.com/ethereum/eth-utils/issues/130
10 src = fetchFromGitHub {
11 owner = "ethereum";
12 repo = pname;
13 rev = "v${version}";
14 sha256 = "0g8f5vdjh7qd8kgsqqd9qkm6m79rx3w9yp0rf9vpdsv3xfzrkh1w";
15 };
16
17 checkInputs = [ pytest hypothesis ];
18 propagatedBuildInputs = [ eth-hash eth-typing cytoolz ];
19
20 # setuptools-markdown uses pypandoc which is broken at the moment
21 preConfigure = ''
22 substituteInPlace setup.py --replace \'setuptools-markdown\' ""
23 '';
24
25 checkPhase = ''
26 pytest .
27 '';
28
29 meta = {
30 description = "Common utility functions for codebases which interact with ethereum";
31 homepage = https://github.com/ethereum/eth-utils;
32 license = lib.licenses.mit;
33 maintainers = with lib.maintainers; [ jluttine ];
34 };
35}