* gnu/packages/python-xyz.scm (python-canonicaljson): Update to 1.6.3.
[arguments]: Add phases build, check and install to build with pep517.
Add phase loosen-requirements to build with python-setuptools-scm >3.
[native-inputs]: Add python-pypa-build, python-pytest, python-setuptools,
python-setuptools-scm.
---
gnu/packages/python-xyz.scm | 29 +++++++++++++++++++++++++++--
1 file changed, 27 insertions(+), 2 deletions(-)
Toggle diff (48 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index f3ede1b417..d5f94d1cfb 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -26043,14 +26043,39 @@ (define-public python-py-cpuinfo
(define-public python-canonicaljson
(package
(name "python-canonicaljson")
- (version "1.4.0")
+ (version "1.6.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "canonicaljson" version))
(sha256
- (base32 "0c86g0vvzdcg3nrcsqnbzlfhpprc2i894p8i14hska56yl27d6w9"))))
+ (base32 "0j5lq191jkd483q6xzc16c9fahxf15lrv03mvah9ka3lq85pcnfa"))))
(build-system python-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'loosen-requirements
+ (lambda _
+ ;; Permit newer versions of setuptools_scm
+ (substitute* "pyproject.toml"
+ ((">= 2.0.0, <3") ">= 2.0.0"))))
+ (replace 'build
+ (lambda _
+ ;; ZIP does not support timestamps before 1980.
+ (setenv "SOURCE_DATE_EPOCH" "315532800")
+ (invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest"))))
+ (replace 'install
+ (lambda _
+ (let ((whl (car (find-files "dist" "\\.whl$"))))
+ (invoke "pip" "--no-cache-dir" "--no-input"
+ "install" "--no-deps" "--prefix" #$output whl)))))))
+ (native-inputs
+ (list python-pypa-build python-pytest python-setuptools python-setuptools-scm))
(propagated-inputs
(list python-six python-frozendict python-simplejson))
(home-page "https://github.com/matrix-org/python-canonicaljson")
--
2.38.0