Subject: [PATCH 1/2] gnu: python-construct: Update to 2.10.68.

From: Sharlatan Hellseher <[email-masked]>
Date: Sun, 12 Feb 2023 23:49:56 +0000

* gnu/packages/python-xyz.scm (python-construct): Update to 2.10.68.
  [source]: Use git checkout over PyPI to enable tests.
  [arguments]{tests}: Enable them with custom phase.
  [native-inputs]: Add python-pytest, python-pytest-benchmark.
  [propagated-inputs]: Remove python-extras. Add python-cloudpickle, python-lz4.
---
 gnu/packages/python-xyz.scm | 30 ++++++++++++++++++++++--------
 1 file changed, 22 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 445f5a787d..1f13e3ba28 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -94,7 +94,7 @@
 ;;; Copyright © 2020, 2021 Zheng Junjie <[email-masked]>
 ;;; Copyright © 2020 EuAndreh <[email-masked]>
 ;;; Copyright © 2021, 2022 Morgan Smith <[email-masked]>
-;;; Copyright © 2021, 2022 Sharlatan Hellseher <[email-masked]>
+;;; Copyright © 2021-2023 Sharlatan Hellseher <[email-masked]>
 ;;; Copyright © 2021 Ellis Kenyő <[email-masked]>
 ;;; Copyright © 2021 LibreMiami <[email-masked]>
 ;;; Copyright © 2021 Xinglu Chen <[email-masked]>
@@ -24432,19 +24432,33 @@ (define-public python-attr
 (define-public python-construct
   (package
     (name "python-construct")
-    (version "2.10.56")
+    (version "2.10.68")
     (source
      (origin
-       (method url-fetch)
-       (uri (pypi-uri "construct" version))
+       ;; There are no tests in the PyPI tarball.
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/construct/construct")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
        (sha256
-        (base32
-         "0q86jjzsvy835h3c8pjj4619vbp7ihfg8njmyw86ym4qrpni7flp"))))
+        (base32 "1b59kq8scxhn9afqgmksk45n53gawylqm8gw3k0vmljg274xi7vf"))))
     (build-system python-build-system)
     (arguments
-     `(#:tests? #f)) ; No tests exist.
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (replace 'check
+                 (lambda* (#:key tests? #:allow-other-keys)
+                   (when tests?
+                     (invoke "pytest" "-v" "tests/")))))))
+    (native-inputs
+     (list python-pytest python-pytest-benchmark))
     (propagated-inputs
-     (list python-extras python-arrow python-numpy python-ruamel.yaml))
+     (list python-arrow
+           python-cloudpickle
+           python-lz4
+           python-numpy
+           python-ruamel.yaml))
     (home-page "https://construct.readthedocs.io")
     (synopsis "Declarative and symmetrical parser and builder for binary data")
     (description
-- 
2.39.1