summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMathieu Othacehe <othacehe@gnu.org>2023-12-24 21:22:16 +0100
committerMathieu Othacehe <othacehe@gnu.org>2023-12-28 10:12:35 +0100
commitd460b12d76eb2bc6674750bc0a410de37aee6646 (patch)
treecca197021e1ff46930bf3af0bb10193ff205a262
parent725a73048232738e76c461931cab80e5a05dd6fb (diff)
gnu: Add python-rpds-py.
* gnu/packages/python-xyz.scm (python-rpds-py): New variable. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Change-Id: I6f4d80cc7a9a3d591fcf894375ef14e079573c0d
-rw-r--r--gnu/packages/python-xyz.scm40
1 files changed, 40 insertions, 0 deletions
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index cab44be011..4d3041db2c 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -34054,6 +34054,46 @@ package. It can be used by type-checking tools like mypy, PyCharm, pytype
etc. to check code that uses @code{orjson}.")
(license license:asl2.0)))
+(define-public python-rpds-py
+ (package
+ (name "python-rpds-py")
+ (version "0.10.6")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "rpds_py" version))
+ (sha256
+ (base32
+ "0l5slkvhq2vf64mapimmj6ginsv01mc4niyj90vvz3assq4agrac"))))
+ (build-system cargo-build-system)
+ (arguments
+ (list
+ #:imported-modules `(,@%cargo-build-system-modules
+ ,@%pyproject-build-system-modules)
+ #:modules '((guix build cargo-build-system)
+ ((guix build pyproject-build-system) #:prefix py:)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'prepare-python-module 'build-python-module
+ (assoc-ref py:%standard-phases 'build))
+ (add-after 'build-python-module 'install-python-module
+ (assoc-ref py:%standard-phases 'install)))
+ #:cargo-inputs
+ `(("rust-archery" ,rust-archery-1)
+ ("rust-pyo3" ,rust-pyo3-0.19)
+ ("rust-rpds" ,rust-rpds-1))
+ #:install-source? #false))
+ (inputs
+ (list maturin))
+ (native-inputs
+ (list python-wrapper))
+ (home-page "https://github.com/crate-py/rpds")
+ (synopsis "Bindings to Rust rpds for persistent data structures")
+ (description "This package provides Python bindings to the Rust rpds crate
+for persistent data structures. It was written initially to support replacing
+@code{python-pyrsistent}.")
+ (license license:expat)))
+
(define-public python-nanoid
;; There are no tests on PyPi.
(let ((commit "061f9a598f310b0e2e91b9ed6ce725a22770da64")