gnu: python-pydantic: Update to 1.8.2.
authorMarius Bakke <marius@gnu.org>
Fri, 4 Jun 2021 12:50:59 +0000 (14:50 +0200)
committerMarius Bakke <marius@gnu.org>
Fri, 4 Jun 2021 12:57:39 +0000 (14:57 +0200)
* gnu/packages/python-xyz.scm (python-pydantic): Update to 1.8.2.
[arguments]: Disable some new tests.
[native-inputs]: Add PYTHON-PYTEST-MOCK.
[propagated-inputs]: Add PYTHON-TYPING-EXTENSIONS.

gnu/packages/python-xyz.scm

index a5cc04e..f21fb53 100644 (file)
@@ -4527,7 +4527,7 @@ which can produce feeds in RSS 2.0, RSS 0.91, and Atom formats.")
 (define-public python-pydantic
   (package
     (name "python-pydantic")
-    (version "1.6.1")
+    (version "1.8.2")
     (source
      (origin
        (method git-fetch)
@@ -4536,24 +4536,39 @@ which can produce feeds in RSS 2.0, RSS 0.91, and Atom formats.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1380s9k77g6q15by9fkxndczjk89q6xpz09jdrqip535xws2z3j8"))))
+        (base32 "06162dss6mvi7wiy2lzxwvzajwxgy8b2fyym7qipaj7zibcqalq2"))))
     (build-system python-build-system)
     (arguments
      '(#:phases
        (modify-phases %standard-phases
-         ;; Reported upstream:
-         ;; <https://github.com/samuelcolvin/pydantic/issues/1580>.
-         ;; Disable the faulty test as the fix is unclear.
          (add-before 'check 'disable-test
            (lambda _
+             ;; Reported upstream:
+             ;; <https://github.com/samuelcolvin/pydantic/issues/1580>.
+             ;; Disable the faulty test as the fix is unclear.
              (substitute* "tests/test_validators.py"
                (("test_assert_raises_validation_error")
                 "_test_assert_raises_validation_error"))
-             #t))
+
+             ;; These fail because of <https://bugs.python.org/issue40398>.
+             ;; Remove after Python has been upgraded to >= 3.9.
+             (substitute* "tests/test_generics.py"
+               (("assert replace_types\\(Callable, \\{T: int\\}\\) == Callable")
+                ""))
+             (substitute* "tests/test_schema.py"
+               (("test_unenforced_constraints_schema")
+               "_test_unenforced_constraints_schema"))
+
+             ;; Disable tests for the Hypothesis plugin because it is tricky
+             ;; to configure in the build container.
+             (delete-file "tests/test_hypothesis_plugin.py")))
          (replace 'check
-           (lambda _ (invoke "pytest" "-vv" "tests"))))))
+           (lambda _ (invoke "pytest" "-vv"))))))
     (native-inputs
-     `(("python-pytest" ,python-pytest)))
+     `(("python-pytest" ,python-pytest)
+       ("python-pytest-mock" ,python-pytest-mock)))
+    (propagated-inputs
+     `(("python-typing-extensions" ,python-typing-extensions)))
     (home-page "https://github.com/samuelcolvin/pydantic")
     (synopsis "Python data validation and settings management")
     (description