me
/
guix
Archived
1
0
Fork 0

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
master
Ricardo Wurmus 2024-01-08 20:18:02 +01:00
parent c7646437a2
commit 82b7c3077f
No known key found for this signature in database
GPG Key ID: 197A5888235FACAC
1 changed files with 22 additions and 31 deletions

View File

@ -8414,16 +8414,25 @@ comparison.
(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 @@ backend=Agg
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"
(apply 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")))))))))
"--pyargs" "matplotlib"
test-flags))))))))
(propagated-inputs
(list gobject-introspection
python-cairocffi
python-certifi
(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 @@ tests = True~%" (assoc-ref inputs "tcl") (assoc-ref inputs "tk"))))))
tk))
(native-inputs
(list pkg-config
pybind11
python-pytest
python-pytest-timeout
python-pytest-xdist