Subject: Update python-trezor to 0.11.1, add python-typing-extensions and python-construct
From: Vagrant Cascadian <[email-masked]>
To: [email-masked]
Date: Mon, 04 Feb 2019 20:23:36 -0800
List-Id: <debbugs-submit.debbugs.gnu.org>

The attached patch series updates python-trezor to 0.11.1, which
required adding the new inputs python-typing-extensions and
python-construct.

live well,
  vagrant
From 883cdc94648e94fb2d2ee0c1bb98dcd586d2fe3b Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <[email-masked]>
Date: Tue, 5 Feb 2019 04:14:23 +0000
Subject: [PATCH 1/3] gnu: Add python-typing-extensions.

* gnu/packages/python-xyz.scm (python-typing-extensions): New variable.
---
 gnu/packages/python-xyz.scm | 38 +++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index ef8565d7bf..6a5e54d382 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -13424,6 +13424,44 @@ and other tools.")
 (define-public python2-typing
   (package-with-python2 python-typing))
 
+(define-public python-typing-extensions
+  (package
+    (name "python-typing-extensions")
+    (version "3.7.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "typing_extensions" version))
+       (sha256
+        (base32
+         "0wfsv71pvkyf2na938l579jh0v3kzl6g744ijgnahcwd4d9x0b7v"))))
+    (build-system python-build-system)
+    (home-page
+     "https://github.com/python/typing/blob/master/typing_extensions/README.rst")
+    (synopsis
+     "Experimental type hints for Python")
+    (description
+     "The typing_extensions module contains additional @code{typing} hints not
+yet present in the of the @code{typing} standard library.
+Included are implementations of:
+@enumerate
+@item ClassVar
+@item ContextManager
+@item Counter
+@item DefaultDict
+@item Deque
+@item NewType
+@item NoReturn
+@item overload
+@item Protocol
+@item runtime
+@item Text
+@item Type
+@item TYPE_CHECKING
+@item AsyncGenerator
+@end enumerate\n")
+    (license license:psfl)))
+
 (define-public bpython
   (package
     (name "bpython")
-- 
2.20.1

From fb1e1089e5f5d094d30b25749cb47cfb39c9c45f Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <[email-masked]>
Date: Tue, 5 Feb 2019 04:14:23 +0000
Subject: [PATCH 2/3] gnu: Add python-construct.

* gnu/packages/python-xyz.scm (python-construct): New variable.
---
 gnu/packages/python-xyz.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 6a5e54d382..d72aa60837 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -137,6 +137,7 @@
   #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages tcl)
   #:use-module (gnu packages bdw-gc)
+  #:use-module (gnu packages serialization)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix git-download)
@@ -14811,3 +14812,36 @@ in doctests.")
     (description "Simple decorator to set attributes of target function or
 class in a @acronym{DRY, Don't Repeat Yourself} way.")
     (license license:expat)))
+
+(define-public python-construct
+  (package
+    (name "python-construct")
+    (version "2.9.45")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "construct" version))
+       (sha256
+        (base32
+         "130iy05awzigm2xah2yvlmb08mac5bi4gzr5m3g7k1krs3ps0w92"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         ;; No tests defined.
+         (delete 'check))))
+    (propagated-inputs
+     `(("python-extras" ,python-extras)
+       ("python-arrow" ,python-arrow)
+       ("python-numpy" ,python-numpy)
+       ("python-ruamel.yaml" ,python-ruamel.yaml)))
+    (home-page "http://construct.readthedocs.io")
+    (synopsis
+     "Declarative and symmetrical parser and builder for binary data")
+    (description
+     "Construct provides both simple, atomic constructs (such as integers of
+various sizes), as well as composite ones which allow you form hierarchical
+and sequential structures of increasing complexity.  Construct features bit and
+byte granularity, easy debugging and testing, an easy-to-extend subclass
+system, and lots of primitive constructs to make your work easier.")
+    (license license:expat)))
-- 
2.20.1

From fb743618ec80b0b73b951ebc27cf8b0207be4d8d Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <[email-masked]>
Date: Tue, 5 Feb 2019 04:14:23 +0000
Subject: [PATCH 3/3] gnu: python-trezor: Update to 0.11.1.

* gnu/packages/finance.scm (python-trezor): Update to 0.11.1.
  [arguments]: Remove obsolete slow_cosi test.
    Delete test_tx_api test, which requires network access.
  [propagated-inputs]: Add python-construct and python-typing-extensions,
    Remove python-hidapi, python-protobuf and python-typing.
  [native-inputs]: Remove python-mock, Add protobuf, python-black,
    python-protobuf and python-isort.
---
 gnu/packages/finance.scm | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 5ca81f3d91..7d17188dab 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -679,14 +679,14 @@ Ledger Blue/Nano S.")
 (define-public python-trezor
   (package
     (name "python-trezor")
-    (version "0.10.2")
+    (version "0.11.1")
     (source
       (origin
         (method url-fetch)
         (uri (pypi-uri "trezor" version))
         (sha256
           (base32
-            "138k6zsqqpb46k3rcpyslm9q7yq5i6k4myvr9n425jnkadf4vfjd"))))
+            "064yds8f4px0c6grkkanpdjx022g4q87ihzhkmdv9qanv0hz6hv0"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
@@ -694,21 +694,23 @@ Ledger Blue/Nano S.")
           ;; Default tests run device-specific tests which fail, only run specific tests.
           (replace 'check
             (lambda* (#:key inputs outputs #:allow-other-keys)
-              (invoke "python" "-m" "pytest" "--pyarg" "trezorlib.tests.unit_tests")
-              (invoke "python" "-m" "pytest" "-m" "slow_cosi" "--pyarg" "trezorlib.tests.unit_tests")
-              )))))
+              ;; Delete tests that require network access.
+              (delete-file "trezorlib/tests/unit_tests/test_tx_api.py")
+              (invoke "python" "-m" "pytest" "--pyarg" "trezorlib.tests.unit_tests"))))))
     (propagated-inputs
      `(("python-click" ,python-click)
+       ("python-construct" ,python-construct)
        ("python-ecdsa" ,python-ecdsa)
-       ("python-hidapi" ,python-hidapi)
        ("python-libusb1" ,python-libusb1)
        ("python-mnemonic" ,python-mnemonic)
-       ("python-protobuf" ,python-protobuf)
        ("python-pyblake2" ,python-pyblake2)
        ("python-requests" ,python-requests)
-       ("python-typing" ,python-typing)))
+       ("python-typing-extensions" ,python-typing-extensions)))
     (native-inputs
-     `(("python-mock" ,python-mock) ; Tests
+     `(("protobuf" ,protobuf) ; Tests
+       ("python-black" ,python-black) ; Tests
+       ("python-protobuf" ,python-protobuf) ; Tests
+       ("python-isort" ,python-isort) ; Tests
        ("python-pyqt" ,python-pyqt) ; Tests
        ("python-pytest" ,python-pytest))) ; Tests
     (home-page "https://github.com/trezor/python-trezor")
-- 
2.20.1