From 82b7c3077f3f7eb705432bfa1e7e03f863ee2872 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 8 Jan 2024 20:18:02 +0100 Subject: gnu: python-matplotlib: Update to 3.8.2. * gnu/packages/python-xyz.scm (python-matplotlib): Update to 3.8.2. [build-system]: Use pyproject-build-system. [arguments]: Enable more tests; simplify custom 'check phase. [propagated-inputs]: Remove gobject-introspection, python-cairocffi, python-certifi, python-pygobject, python-pytz, python-six, and python-wxpython; add python-contourpy and python-importlib-resources. [native-inputs]: Add pybind11. Change-Id: Ie34826882fdcc20fac3b09130bcd0f4ad4f76b07 --- gnu/packages/python-xyz.scm | 55 +++++++++++++++++++-------------------------- 1 file changed, 23 insertions(+), 32 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index ee48db20a7..980fe08400 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -8414,16 +8414,25 @@ (define-public python-proto-matcher (define-public python-matplotlib (package (name "python-matplotlib") - (version "3.5.2") + (version "3.8.2") (source (origin (method url-fetch) (uri (pypi-uri "matplotlib" version)) (sha256 - (base32 "18h78s5ld1i6mz00w258hy29909nfr3ddq6ry9kq18agw468bks8")))) - (build-system python-build-system) + (base32 "18amhxyxa6yzy1nwky4ggdgvvxnbl3qz2lki05vfx0dqf6w7ia81")))) + (build-system pyproject-build-system) (arguments (list + #:test-flags + '(list "-m" "not network" + "-k" + (string-append + ;; This one fails with a small difference in the upper left. + "not test_figure_legend_outside" + ;; The 'test_lazy_auto_backend_selection' fails + ;; because it would require an X server; skip it. + " and not test_lazy_auto_backend_selection")) #:phases #~(modify-phases %standard-phases (add-before 'build 'pretend-version @@ -8487,49 +8496,30 @@ (define-public python-matplotlib basedirlist = ~a,~a [packages] -tests = True~%" (assoc-ref inputs "tcl") (assoc-ref inputs "tk")))))) +tests = True~%" #$(this-package-input "tcl") #$(this-package-input "tk")))))) (replace 'check - (lambda* (#:key tests? #:allow-other-keys) + (lambda* (#:key tests? test-flags #:allow-other-keys) (when tests? ;; Step out of the source directory to avoid interference. (with-directory-excursion "/tmp" ;; Run the installed tests, which is what we want since not ;; everything gets built in the source directory. - (invoke "pytest" - "-n" (number->string (parallel-job-count)) - "-m" "not network" "--pyargs" "matplotlib" - "-k" - (string-append - ;; The 'test_lazy_auto_backend_selection' fails - ;; because it would require an X server; skip it. - "not test_lazy_auto_backend_selection" - ;; test_getattr fails for the GTK backend because - ;; of an unexpected warning from Python 3.10 - ;; (via the gi module): - ;; https://gitlab.gnome.org/GNOME/pygobject/-/issues/494 - " and not test_getattr"))))))))) - (propagated-inputs - (list gobject-introspection - python-cairocffi - python-certifi + (apply invoke "pytest" + "-n" (number->string (parallel-job-count)) + "--pyargs" "matplotlib" + test-flags)))))))) + (propagated-inputs + (list python-contourpy python-cycler python-dateutil python-fonttools-minimal + python-importlib-resources python-kiwisolver python-numpy python-packaging python-pillow - ;; ;; 'pycairo'. However, 'pygobject' makes use of a 'pycairo' 'context' - ;; ;; From version 1.4.0 'matplotlib' makes use of 'cairocffi' instead of - ;; ;; https://cairocffi.readthedocs.io/en/stable/cffi_api.html#converting-pycairo-wrappers-to-cairocffi - ;; ;; object. For this reason we need to import both libraries. - ;; python-pycairo - python-pygobject python-pyparsing - python-pytz - python-six - `(,python "tk") - python-wxpython)) + `(,python "tk"))) (inputs (list cairo freetype @@ -8540,6 +8530,7 @@ (define-public python-matplotlib tk)) (native-inputs (list pkg-config + pybind11 python-pytest python-pytest-timeout python-pytest-xdist -- cgit v1.2.3