From c44504410ba5a3bd76a99e7907533779c2b17694 Mon Sep 17 00:00:00 2001 From: Jaakko Luttinen Date: Sun, 26 Aug 2018 14:09:30 +0300 Subject: [PATCH 01/10] pythonPackages.eth-hash: init at 0.1.14 --- .../python-modules/eth-hash/default.nix | 45 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 47 insertions(+) create mode 100644 pkgs/development/python-modules/eth-hash/default.nix diff --git a/pkgs/development/python-modules/eth-hash/default.nix b/pkgs/development/python-modules/eth-hash/default.nix new file mode 100644 index 00000000000..ce5fce1b1cb --- /dev/null +++ b/pkgs/development/python-modules/eth-hash/default.nix @@ -0,0 +1,45 @@ +{ lib, fetchPypi, buildPythonPackage, pythonOlder, pytest, pysha3, pycrypto, + pycryptodome }: + +buildPythonPackage rec { + pname = "eth-hash"; + version = "0.2.0"; + + src = fetchPypi { + inherit pname version; + sha256 = "0xpiz0wrxxj11ki9yapvsibl25qnki90bl3d39nqascg14nw17a9"; + }; + + checkInputs = [ pytest ]; + + propagatedBuildInputs = [ pysha3 pycrypto pycryptodome ]; + + # setuptools-markdown uses pypandoc which is broken at the moment + preConfigure = '' + substituteInPlace setup.py --replace \'setuptools-markdown\' "" + ''; + + # Run tests separately because we don't want to run tests on tests/backends/ + # but only on its selected subdirectories. Also, the directories under + # tests/backends/ must be run separately because they have identically named + # test files so pytest would raise errors because of that. + # + # Also, tests in tests/core/test_import.py are broken so just ignore them: + # https://github.com/ethereum/eth-hash/issues/25 + # There is a pull request to fix the tests: + # https://github.com/ethereum/eth-hash/pull/26 + checkPhase = '' + pytest tests/backends/pycryptodome/ + pytest tests/backends/pysha3/ + # pytest tests/core/ + ''; + + disabled = pythonOlder "3.5"; + + meta = { + description = "The Ethereum hashing function keccak256"; + homepage = https://github.com/ethereum/eth-hash; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ jluttine ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 157f45f3f2a..1f55ead0053 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1655,6 +1655,8 @@ in { envs = callPackage ../development/python-modules/envs { }; + eth-hash = callPackage ../development/python-modules/eth-hash { }; + jsonrpc-async = callPackage ../development/python-modules/jsonrpc-async { }; jsonrpc-base = callPackage ../development/python-modules/jsonrpc-base { }; From 541a13ca0ae42dbdea9369c585b51b23b5a660b3 Mon Sep 17 00:00:00 2001 From: Jaakko Luttinen Date: Sun, 26 Aug 2018 14:11:02 +0300 Subject: [PATCH 02/10] pythonPackages.eth-typing: init at 1.1.0 --- .../python-modules/eth-typing/default.nix | 35 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 37 insertions(+) create mode 100644 pkgs/development/python-modules/eth-typing/default.nix diff --git a/pkgs/development/python-modules/eth-typing/default.nix b/pkgs/development/python-modules/eth-typing/default.nix new file mode 100644 index 00000000000..070923c8385 --- /dev/null +++ b/pkgs/development/python-modules/eth-typing/default.nix @@ -0,0 +1,35 @@ +{ lib, fetchFromGitHub, buildPythonPackage, pythonOlder, pytest }: + +buildPythonPackage rec { + pname = "eth-typing"; + version = "1.3.0"; + + # Tests are missing from the PyPI source tarball so let's use GitHub + # https://github.com/ethereum/eth-typing/issues/8 + src = fetchFromGitHub { + owner = "ethereum"; + repo = pname; + rev = "v${version}"; + sha256 = "0703z7vlsfa3dvgcq22f9rzmj0svyp2a8wc7h73d0aac28ydhpv9"; + }; + + # setuptools-markdown uses pypandoc which is broken at the moment + preConfigure = '' + substituteInPlace setup.py --replace \'setuptools-markdown\' "" + ''; + + disabled = pythonOlder "3.5"; + + checkInputs = [ pytest ]; + + checkPhase = '' + pytest . + ''; + + meta = { + description = "Common type annotations for Ethereum Python packages"; + homepage = https://github.com/ethereum/eth-typing; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ jluttine ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 1f55ead0053..a2419d74b1a 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1657,6 +1657,8 @@ in { eth-hash = callPackage ../development/python-modules/eth-hash { }; + eth-typing = callPackage ../development/python-modules/eth-typing { }; + jsonrpc-async = callPackage ../development/python-modules/jsonrpc-async { }; jsonrpc-base = callPackage ../development/python-modules/jsonrpc-base { }; From 9f8e6148c5da6101bd534c3d68549ab00946b441 Mon Sep 17 00:00:00 2001 From: Jaakko Luttinen Date: Sun, 26 Aug 2018 14:12:06 +0300 Subject: [PATCH 03/10] pythonPackages.eth-utils: init at 1.2.0 --- .../python-modules/eth-utils/default.nix | 35 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 37 insertions(+) create mode 100644 pkgs/development/python-modules/eth-utils/default.nix diff --git a/pkgs/development/python-modules/eth-utils/default.nix b/pkgs/development/python-modules/eth-utils/default.nix new file mode 100644 index 00000000000..cae3f34f0c9 --- /dev/null +++ b/pkgs/development/python-modules/eth-utils/default.nix @@ -0,0 +1,35 @@ +{ lib, fetchFromGitHub, buildPythonPackage, pytest, eth-hash, eth-typing, + cytoolz, hypothesis }: + +buildPythonPackage rec { + pname = "eth-utils"; + version = "1.2.1"; + + # Tests are missing from the PyPI source tarball so let's use GitHub + # https://github.com/ethereum/eth-utils/issues/130 + src = fetchFromGitHub { + owner = "ethereum"; + repo = pname; + rev = "v${version}"; + sha256 = "0g8f5vdjh7qd8kgsqqd9qkm6m79rx3w9yp0rf9vpdsv3xfzrkh1w"; + }; + + checkInputs = [ pytest hypothesis ]; + propagatedBuildInputs = [ eth-hash eth-typing cytoolz ]; + + # setuptools-markdown uses pypandoc which is broken at the moment + preConfigure = '' + substituteInPlace setup.py --replace \'setuptools-markdown\' "" + ''; + + checkPhase = '' + pytest . + ''; + + meta = { + description = "Common utility functions for codebases which interact with ethereum"; + homepage = https://github.com/ethereum/eth-utils; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ jluttine ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index a2419d74b1a..e74d264d602 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1659,6 +1659,8 @@ in { eth-typing = callPackage ../development/python-modules/eth-typing { }; + eth-utils = callPackage ../development/python-modules/eth-utils { }; + jsonrpc-async = callPackage ../development/python-modules/jsonrpc-async { }; jsonrpc-base = callPackage ../development/python-modules/jsonrpc-base { }; From f053daf36ceb956e19a78115e4abdf46058fec25 Mon Sep 17 00:00:00 2001 From: Jaakko Luttinen Date: Sun, 26 Aug 2018 14:13:24 +0300 Subject: [PATCH 04/10] pythonPackages.rlp: fix build --- pkgs/development/python-modules/rlp/default.nix | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/rlp/default.nix b/pkgs/development/python-modules/rlp/default.nix index 77ada95b301..150234a3dd2 100644 --- a/pkgs/development/python-modules/rlp/default.nix +++ b/pkgs/development/python-modules/rlp/default.nix @@ -1,4 +1,4 @@ -{ lib, fetchPypi, buildPythonPackage, pytest }: +{ lib, fetchPypi, buildPythonPackage, pytest, hypothesis, eth-utils }: buildPythonPackage rec { pname = "rlp"; @@ -9,8 +9,18 @@ buildPythonPackage rec { sha256 = "040fb5172fa23d27953a886c40cac989fc031d0629db934b5a9edcd2fb28df1e"; }; - checkInputs = [ pytest ]; - propagatedBuildInputs = [ ]; + checkInputs = [ pytest hypothesis ]; + propagatedBuildInputs = [ eth-utils ]; + + # setuptools-markdown uses pypandoc which is broken at the moment + preConfigure = '' + substituteInPlace setup.py --replace \'setuptools-markdown\' "" + substituteInPlace setup.py --replace "long_description_markdown_filename='README.md'," "" + ''; + + checkPhase = '' + pytest . + ''; meta = { description = "A package for encoding and decoding data in and from Recursive Length Prefix notation"; From 38e86a8f1e7d58ba494a83242ccd580e890741a6 Mon Sep 17 00:00:00 2001 From: Jaakko Luttinen Date: Sun, 26 Aug 2018 15:15:27 +0300 Subject: [PATCH 05/10] pythonPackages.python-u2flib-host: init at 3.0.3 --- .../python-u2flib-host/default.nix | 23 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 25 insertions(+) create mode 100644 pkgs/development/python-modules/python-u2flib-host/default.nix diff --git a/pkgs/development/python-modules/python-u2flib-host/default.nix b/pkgs/development/python-modules/python-u2flib-host/default.nix new file mode 100644 index 00000000000..38785d81313 --- /dev/null +++ b/pkgs/development/python-modules/python-u2flib-host/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchPypi, buildPythonPackage, requests, hidapi }: + +buildPythonPackage rec { + pname = "python-u2flib-host"; + version = "3.0.3"; + + src = fetchPypi { + inherit pname version; + sha256 = "02pwafd5kyjpc310ys0pgnd0adff1laz18naxxwsfrllqafqnrxb"; + }; + + propagatedBuildInputs = [ requests hidapi ]; + + # Tests fail: "ValueError: underlying buffer has been detached" + doCheck = false; + + meta = with stdenv.lib; { + description = "Python based U2F host library"; + homepage = https://github.com/Yubico/python-u2flib-host; + license = licenses.bsd2; + maintainers = with maintainers; [ jluttine ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index e74d264d602..db8d8fc463c 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -16244,6 +16244,8 @@ EOF potr = callPackage ../development/python-modules/potr {}; + python-u2flib-host = callPackage ../development/python-modules/python-u2flib-host { }; + pluggy = callPackage ../development/python-modules/pluggy {}; xcffib = callPackage ../development/python-modules/xcffib {}; From 5c9db2f02fba343bcc60fa0c8418495756f6ac1f Mon Sep 17 00:00:00 2001 From: Jaakko Luttinen Date: Sun, 26 Aug 2018 15:16:08 +0300 Subject: [PATCH 06/10] pythonPackages.ledgerblue: fix build inputs --- pkgs/development/python-modules/ledgerblue/default.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/ledgerblue/default.nix b/pkgs/development/python-modules/ledgerblue/default.nix index 4f6c2a96c56..d324afcc647 100644 --- a/pkgs/development/python-modules/ledgerblue/default.nix +++ b/pkgs/development/python-modules/ledgerblue/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchPypi, buildPythonPackage, hidapi -, pycrypto, pillow, protobuf, future, ecpy +, pycrypto, pillow, protobuf, future, ecpy, python-u2flib-host, pycryptodomex }: buildPythonPackage rec { @@ -11,7 +11,12 @@ buildPythonPackage rec { sha256 = "3969b3c375c0f3fb60ff1645621ebf2f39fb697a53851620705f27ed7b283097"; }; - buildInputs = [ hidapi pycrypto pillow protobuf future ecpy ]; + propagatedBuildInputs = [ + hidapi pycrypto pillow protobuf future ecpy python-u2flib-host pycryptodomex + ]; + + # No tests + doCheck = false; meta = with stdenv.lib; { description = "Python library to communicate with Ledger Blue/Nano S"; From c9bf7f67b9ce3e62a40119f8fcb353c67b4268c2 Mon Sep 17 00:00:00 2001 From: Jaakko Luttinen Date: Sun, 26 Aug 2018 15:43:42 +0300 Subject: [PATCH 07/10] pythonPackage.pymsgbox: init at 1.0.6 --- .../python-modules/pymsgbox/default.nix | 24 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 26 insertions(+) create mode 100644 pkgs/development/python-modules/pymsgbox/default.nix diff --git a/pkgs/development/python-modules/pymsgbox/default.nix b/pkgs/development/python-modules/pymsgbox/default.nix new file mode 100644 index 00000000000..38cc411f54d --- /dev/null +++ b/pkgs/development/python-modules/pymsgbox/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchPypi, buildPythonPackage, tkinter }: + +buildPythonPackage rec { + pname = "PyMsgBox"; + version = "1.0.6"; + + src = fetchPypi { + inherit pname version; + sha256 = "0kmd00w7p6maiyqpqqb2j8m6v2gh9c0h5i198pa02bc1c1m1321q"; + extension = "zip"; + }; + + propagatedBuildInputs = [ tkinter ]; + + # Finding tests fails + doCheck = false; + + meta = with stdenv.lib; { + description = "A simple, cross-platform, pure Python module for JavaScript-like message boxes"; + homepage = https://github.com/asweigart/PyMsgBox; + license = licenses.bsd3; + maintainers = with maintainers; [ jluttine ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index db8d8fc463c..e718fbd3323 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -469,6 +469,8 @@ in { pymatgen-lammps = callPackage ../development/python-modules/pymatgen-lammps { }; + pymsgbox = callPackage ../development/python-modules/pymsgbox { }; + pynisher = callPackage ../development/python-modules/pynisher { }; pyparser = callPackage ../development/python-modules/pyparser { }; From 80b64a2e049a9cb3b722de8520af4cfb08fef52a Mon Sep 17 00:00:00 2001 From: Jaakko Luttinen Date: Sun, 26 Aug 2018 15:44:16 +0300 Subject: [PATCH 08/10] pythonPackage.backports-shutil-which: init at 3.5.1 --- .../backports-shutil-which/default.nix | 21 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 23 insertions(+) create mode 100644 pkgs/development/python-modules/backports-shutil-which/default.nix diff --git a/pkgs/development/python-modules/backports-shutil-which/default.nix b/pkgs/development/python-modules/backports-shutil-which/default.nix new file mode 100644 index 00000000000..69a80b530d6 --- /dev/null +++ b/pkgs/development/python-modules/backports-shutil-which/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchPypi, buildPythonPackage }: + +buildPythonPackage rec { + pname = "backports.shutil_which"; + version = "3.5.1"; + + src = fetchPypi { + inherit pname version; + sha256 = "16sa3adkf71862cb9pk747pw80a2f1v5m915ijb4fgj309xrlhyx"; + }; + + # Tests fail: "ValueError: underlying buffer has been detached" + doCheck = false; + + meta = with stdenv.lib; { + description = "Backport of shutil.which from Python 3.3"; + homepage = https://github.com/minrk/backports.shutil_which; + license = licenses.psfl; + maintainers = with maintainers; [ jluttine ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index e718fbd3323..537a1773e54 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -216,6 +216,8 @@ in { backports_csv = callPackage ../development/python-modules/backports_csv {}; + backports-shutil-which = callPackage ../development/python-modules/backports-shutil-which {}; + bap = callPackage ../development/python-modules/bap { bap = pkgs.ocamlPackages.bap; }; From d0ce8834ae3b47ed01482eecb93d1e5e38f7ee01 Mon Sep 17 00:00:00 2001 From: Jaakko Luttinen Date: Sun, 26 Aug 2018 15:44:38 +0300 Subject: [PATCH 09/10] pythonPackages.libagent: fix propagatedBuildInputs --- .../python-modules/libagent/default.nix | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/pkgs/development/python-modules/libagent/default.nix b/pkgs/development/python-modules/libagent/default.nix index 950a0dd5ba6..f70d538bb8d 100644 --- a/pkgs/development/python-modules/libagent/default.nix +++ b/pkgs/development/python-modules/libagent/default.nix @@ -1,6 +1,6 @@ -{ stdenv, fetchPypi, buildPythonPackage, ed25519, ecdsa -, semver, keepkey, trezor, mnemonic, ledgerblue, unidecode, mock, pytest -}: +{ stdenv, fetchPypi, buildPythonPackage, ed25519, ecdsa , semver, mnemonic, + unidecode, mock, pytest , backports-shutil-which, ConfigArgParse, + pythondaemon, pymsgbox }: buildPythonPackage rec { pname = "libagent"; @@ -11,12 +11,8 @@ buildPythonPackage rec { sha256 = "55af1ad2a6c95aef1fc5588c2002c9e54edbb14e248776b64d00628235ceda3e"; }; - buildInputs = [ - ed25519 ecdsa semver keepkey - trezor mnemonic ledgerblue - ]; - - propagatedBuildInputs = [ unidecode ]; + propagatedBuildInputs = [ unidecode backports-shutil-which ConfigArgParse + pythondaemon pymsgbox ecdsa ed25519 mnemonic semver ]; checkInputs = [ mock pytest ]; From 8d4afa5f2ef0fbdf042069ac71479bba1104bbc8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Mon, 27 Aug 2018 10:35:54 +0100 Subject: [PATCH 10/10] pythonPackage.backports-shutil-which: enable tests --- .../python-modules/backports-shutil-which/default.nix | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/backports-shutil-which/default.nix b/pkgs/development/python-modules/backports-shutil-which/default.nix index 69a80b530d6..9900f86567e 100644 --- a/pkgs/development/python-modules/backports-shutil-which/default.nix +++ b/pkgs/development/python-modules/backports-shutil-which/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchPypi, buildPythonPackage }: +{ stdenv, fetchPypi, fetchFromGitHub, buildPythonPackage, pytest }: buildPythonPackage rec { pname = "backports.shutil_which"; @@ -9,8 +9,11 @@ buildPythonPackage rec { sha256 = "16sa3adkf71862cb9pk747pw80a2f1v5m915ijb4fgj309xrlhyx"; }; - # Tests fail: "ValueError: underlying buffer has been detached" - doCheck = false; + checkInputs = [ pytest ]; + + checkPhase = '' + py.test test + ''; meta = with stdenv.lib; { description = "Backport of shutil.which from Python 3.3";