summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-06-01 11:36:10 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-06-01 20:52:00 -0400
commit4f3011f21c46c2eec6fa4256bfb00052aa9512c9 (patch)
tree3da58f8fdb0adf78b37c91a74bebe893681f2baa
parent0815da693fd8e115f701c5038e107724fefeb813 (diff)
gnu: Add python-jsonschema-next.
* gnu/packages/python-xyz.scm (python-jsonschema-next): New variable.
-rw-r--r--gnu/packages/python-xyz.scm36
1 files changed, 36 insertions, 0 deletions
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 8088761f0f..91bed915d8 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -3424,6 +3424,42 @@ compare, diff, and patch JSON and JSON-like structures in Python.")
"Jsonschema is an implementation of JSON Schema for Python.")
(license license:expat)))
+;;; TODO: Make the default python-jsonschema on core-updates
+(define-public python-jsonschema-next
+ (package
+ (inherit python-jsonschema)
+ (version "4.5.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "jsonschema" version))
+ (sha256
+ (base32 "1z0x22691jva7lwfcfh377jdmlz68zhiawxzl53k631l34k8hvbw"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments python-jsonschema)
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ ;; XXX: PEP 517 manual build/install procedures copied from
+ ;; python-isort.
+ (replace 'build
+ (lambda _
+ ;; ZIP does not support timestamps before 1980.
+ (setenv "SOURCE_DATE_EPOCH" "315532800")
+ (invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (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-setuptools-scm
+ python-twisted))
+ (propagated-inputs
+ (list python-attrs
+ python-importlib-metadata
+ python-pyrsistent
+ python-typing-extensions))))
+
(define-public python-schema
(package
(name "python-schema")