Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 setuptools, 6 # dependencies 7 cached-property, 8 ckzg, 9 eth-bloom, 10 eth-keys, 11 eth-typing, 12 eth-utils, 13 lru-dict, 14 pydantic, 15 py-ecc, 16 rlp, 17 trie, 18 # nativeCheckInputs 19 factory-boy, 20 hypothesis, 21 pytestCheckHook, 22 pytest-xdist, 23 eth-hash, 24}: 25 26buildPythonPackage rec { 27 pname = "py-evm"; 28 version = "0.10.1-beta.2"; 29 pyproject = true; 30 31 src = fetchFromGitHub { 32 owner = "ethereum"; 33 repo = "py-evm"; 34 tag = "v${version}"; 35 hash = "sha256-2BWMen/6ZcL1/SgGP0XcrTC63+LEjZO7Ogb3anhavsE="; 36 }; 37 38 build-system = [ setuptools ]; 39 40 dependencies = [ 41 cached-property 42 ckzg 43 eth-bloom 44 eth-keys 45 eth-typing 46 eth-utils 47 lru-dict 48 py-ecc 49 rlp 50 trie 51 ]; 52 53 nativeCheckInputs = [ 54 factory-boy 55 hypothesis 56 pytestCheckHook 57 pytest-xdist 58 ] 59 ++ eth-hash.optional-dependencies.pycryptodome; 60 61 disabledTests = [ 62 # side-effect: runs pip online check and is blocked by sandbox 63 "test_install_local_wheel" 64 ]; 65 66 disabledTestPaths = [ 67 # json-fixtures require fixture submodule and execution spec 68 "tests/json-fixtures" 69 ]; 70 71 pythonImportsCheck = [ "eth" ]; 72 73 meta = { 74 description = "Python implementation of the Ethereum Virtual Machine"; 75 homepage = "https://github.com/ethereum/py-evm"; 76 license = lib.licenses.mit; 77 maintainers = with lib.maintainers; [ hellwolf ]; 78 }; 79}