From: Hartmut Goebel <h.goebel@crazy-compilers.com>
To: 69048@debbugs.gnu.org
Subject: [bug#69048] [PATCH 29/32] gnu: Add python-pydantic-core.
Date: Sun, 11 Feb 2024 12:43:38 +0100 [thread overview]
Message-ID: <d0ae3d0a78ab3d3f368c27bc2a5a68d852eb39f2.1707650794.git.h.goebel@crazy-compilers.com> (raw)
In-Reply-To: <60825c66932829f895e6426b36d6d290a081ffa5.1707650792.git.h.goebel@crazy-compilers.com>
* gnu/packages/python-xyz.scm (python-pydantic-core): New variable.
---
gnu/packages/python-xyz.scm | 84 +++++++++++++++++++++++++++++++++++++
1 file changed, 84 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index b4b69e0f3f..4749c3f204 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -7340,6 +7340,90 @@ (define-public python-pydantic
errors when data is invalid.")
(license license:expat)))
+(define-public python-pydantic-core
+ (package
+ (name "python-pydantic-core")
+ (version "2.16.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pydantic_core" version))
+ (sha256
+ (base32 "01hs4ynmqp2wlfvbygg4bzz3f7g5da4xw40z74ccr3cb1n2h798b"))))
+ (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-before 'patch-cargo-checksums 'relax-requirements
+ ;; pydantic-core updates to the newest available version quite
+ ;; often, including e.g. serde, which Guix does not (yet) update
+ ;; that often to avoid "rust world rebuild".
+ (lambda _
+ (substitute* "Cargo.toml"
+ (("^(serde.* = \\{ *version = \")[^\"]+(\")" _ pre post)
+ (string-append pre "1.0.0" post))
+ (("^(enum_dispatch = \")[^\"]+(\")" _ pre post)
+ (string-append pre "0.3.0" post))
+ (("^(smallvec = \")[^\"]+(\")" _ pre post)
+ (string-append pre "1.11.0" post))
+ (("^(ahash = \")[^\"]+(\")" _ pre post)
+ (string-append pre "0.8.0" post))
+ (("^(url = \")[^\"]+(\")" _ pre post)
+ (string-append pre "2.4.0" post))
+ (("^(base64 = \")[^\"]+(\")" _ pre post)
+ (string-append pre "0.21.0" post))
+ (("^(num-bigint = \")[^\"]+(\")" _ pre post)
+ (string-append pre "0.4.0" post))
+ (("^(uuid = \")[^\"]+(\")" _ pre post)
+ (string-append pre "1.3.0" post)))))
+ (add-before 'patch-cargo-checksums 'fix-crate-private
+ (lambda _
+ (substitute* "src/serializers/fields.rs"
+ (("pub fn (main_to_python|main_serde_serialize|add_computed_fields)"
+ _ name )
+ (string-append "pub(crate) fn " name)))))
+ (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-ahash" ,rust-ahash-0.8)
+ ("rust-base64" ,rust-base64-0.21)
+ ("rust-enum-dispatch" ,rust-enum-dispatch-0.3)
+ ("rust-idna" ,rust-idna-0.5)
+ ("rust-jiter" ,rust-jiter-0.0.6)
+ ("rust-num-bigint" ,rust-num-bigint-0.4)
+ ("rust-pyo3" ,rust-pyo3-0.20)
+ ("rust-python3-dll-a", rust-python3-dll-a-0.2)
+ ("rust-regex" ,rust-regex-1)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-serde-json" ,rust-serde-json-1)
+ ("rust-smallvec" ,rust-smallvec-1)
+ ("rust-speedate" ,rust-speedate-0.13)
+ ("rust-strum" ,rust-strum-0.25)
+ ("rust-strum-macros" ,rust-strum-macros-0.25)
+ ("rust-url" ,rust-url-2)
+ ("rust-uuid" ,rust-uuid-1)
+ ("rust-zerocopy" ,rust-zerocopy-0.7)
+ ("rust-lexical-parse-float" ,rust-lexical-parse-float-0.8))
+ #:install-source? #false))
+ (inputs
+ (list maturin))
+ (native-inputs
+ (list python-hatchling python-pytest python-wrapper))
+ (propagated-inputs (list python-typing-extensions))
+ (home-page "https://github.com/pydantic/pydantic-core")
+ (synopsis "Core functionality for pydantic")
+ (description "This package provides the core functionality for pydantic
+validation and serialization.")
+ (license license:expat)))
+
(define-public python-pydantic-cli
(package
(name "python-pydantic-cli")
--
2.41.0
next prev parent reply other threads:[~2024-02-11 11:46 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-11 11:27 [bug#69048] [PATCH 00/32] Add python-pydantic v2 and required rust and python packages Hartmut Goebel
2024-02-11 11:43 ` [bug#69048] [PATCH 01/32] gnu: rust-either-1: Update to 1.10.0 Hartmut Goebel
2024-02-11 11:43 ` [bug#69048] [PATCH 02/32] gnu: rust-ahash-0.8: Update to 0.8.7 Hartmut Goebel
2024-02-11 11:43 ` [bug#69048] [PATCH 03/32] gnu: rust-hashbrown-0.14: Update to 0.14.3 Hartmut Goebel
2024-02-11 11:43 ` [bug#69048] [PATCH 04/32] gnu: rust-heck-0.4: Update to 0.4.1 Hartmut Goebel
2024-02-11 11:43 ` [bug#69048] [PATCH 05/32] gnu: rust-lexical-core-0.8: Update to 0.8.5 Hartmut Goebel
2024-02-11 11:43 ` [bug#69048] [PATCH 06/32] gnu: rust-lexical-parse-float-0.8: " Hartmut Goebel
2024-02-11 11:43 ` [bug#69048] [PATCH 07/32] gnu: rust-lexical-parse-integer-0.8: Update to 0.8.6 Hartmut Goebel
2024-02-11 11:43 ` [bug#69048] [PATCH 08/32] gnu: rust-lexical-util-0.8: Update to 0.8.5 Hartmut Goebel
2024-02-11 11:43 ` [bug#69048] [PATCH 09/32] gnu: rust-lexical-write-float-0.8: " Hartmut Goebel
2024-02-11 11:43 ` [bug#69048] [PATCH 10/32] gnu: rust-lexical-write-integer-0.8: " Hartmut Goebel
2024-02-11 11:43 ` [bug#69048] [PATCH 11/32] gnu: rust-python3-dll-a-0.2: Update to 0.2.9 Hartmut Goebel
2024-02-11 11:43 ` [bug#69048] [PATCH 12/32] gnu: Add rust-codspeed-2 Hartmut Goebel
2024-02-11 11:43 ` [bug#69048] [PATCH 13/32] gnu: Add rust-codspeed-bencher-compat-2 Hartmut Goebel
2024-02-11 11:43 ` [bug#69048] [PATCH 14/32] gnu: Add rust-elain-0.3 Hartmut Goebel
2024-02-11 11:43 ` [bug#69048] [PATCH 15/32] gnu: Add rust-idna-0.5 Hartmut Goebel
2024-02-11 11:43 ` [bug#69048] [PATCH 16/32] gnu: Add rust-iso8601-0.3 Hartmut Goebel
2024-02-11 11:43 ` [bug#69048] [PATCH 17/32] gnu: Add rust-jiter-0.0.6 Hartmut Goebel
2024-02-11 11:43 ` [bug#69048] [PATCH 18/32] gnu: Add rust-strum-0.25 Hartmut Goebel
2024-02-11 11:43 ` [bug#69048] [PATCH 19/32] gnu: Add rust-strum-macros-0.25 Hartmut Goebel
2024-02-11 11:43 ` [bug#69048] [PATCH 20/32] gnu: Add rust-speedate-0.13 Hartmut Goebel
2024-02-11 11:43 ` [bug#69048] [PATCH 21/32] gnu: Add rust-zerocopy-derive-0.7 Hartmut Goebel
2024-02-11 11:43 ` [bug#69048] [PATCH 22/32] gnu: Add rust-zerocopy-0.7 Hartmut Goebel
2024-02-11 11:43 ` [bug#69048] [PATCH 23/32] gnu: Add rust-pyo3-build-config-0.20 Hartmut Goebel
2024-02-11 11:43 ` [bug#69048] [PATCH 24/32] gnu: Add rust-pyo3-ffi-0.20 Hartmut Goebel
2024-02-11 11:43 ` [bug#69048] [PATCH 25/32] gnu: Add rust-pyo3-macros-backend-0.20 Hartmut Goebel
2024-02-11 11:43 ` [bug#69048] [PATCH 26/32] gnu: Add rust-pyo3-macros-0.20 Hartmut Goebel
2024-02-11 11:43 ` [bug#69048] [PATCH 27/32] gnu: Add rust-pyo3-0.20 Hartmut Goebel
2024-02-11 11:43 ` [bug#69048] [PATCH 28/32] gnu: Add python-annotated-types Hartmut Goebel
2024-02-11 11:43 ` Hartmut Goebel [this message]
2024-02-11 11:43 ` [bug#69048] [PATCH 30/32] gnu: Add python-pydantic-2 Hartmut Goebel
2024-02-11 11:43 ` [bug#69048] [PATCH 31/32] gnu: python-typing-extensions: Update to 4.9.0 Hartmut Goebel
2024-02-11 11:43 ` [bug#69048] [PATCH 32/32] gnu: python-email-validator: Update to 2.1.0.post1 Hartmut Goebel
2024-02-11 14:38 ` bug#69048: [PATCH 00/32] Add python-pydantic v2 and required rust and python packages Efraim Flashner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=d0ae3d0a78ab3d3f368c27bc2a5a68d852eb39f2.1707650794.git.h.goebel@crazy-compilers.com \
--to=h.goebel@crazy-compilers.com \
--cc=69048@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).