gnu: python-matplotlib: Fix running under Wayland with GTK3.

* gnu/packages/python-xyz.scm (python-matplotlib)[source]: Add patch.
* gnu/packages/patches/python-matplotlib-run-under-wayland-gtk3.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
This commit is contained in:
Tobias Geerinckx-Rice 2021-03-02 18:08:27 +01:00
parent 8c5cafab49
commit c48c69194f
No known key found for this signature in database
GPG key ID: 0DB0FF884F556D79
3 changed files with 35 additions and 2 deletions

View file

@ -1539,6 +1539,7 @@ dist_patch_DATA = \
%D%/packages/patches/python-pyfakefs-remove-bad-test.patch \
%D%/packages/patches/python-flint-includes.patch \
%D%/packages/patches/python-libxml2-utf8.patch \
%D%/packages/patches/python-matplotlib-run-under-wayland-gtk3.patch \
%D%/packages/patches/python-mediafile-wavpack.patch \
%D%/packages/patches/python-memcached-syntax-warnings.patch \
%D%/packages/patches/python-mox3-python3.6-compat.patch \

View file

@ -0,0 +1,31 @@
From: Tobias Geerinckx-Rice <me@tobias.gr>
Date: Tue, 02 Mar 2021 18:04:33 +0100
Subject: [PATCH] gnu: python-matplotlib: Run under Wayland with GTK3.
Adopted from upstream's fix[0] for
<https://github.com/matplotlib/matplotlib/issues/19405>.
[0]: https://github.com/liuyun88/matplotlib/commit/3d5000463bd23cb046681220f5511f07743f7d82
---
diff -Naur a/lib/matplotlib/backends/backend_gtk3.py b/lib/matplotlib/backends/backend_gtk3.py
--- a/lib/matplotlib/backends/backend_gtk3.py 2019-11-21 23:47:05.000000000 +0100
+++ b/lib/matplotlib/backends/backend_gtk3.py 2021-03-02 18:00:57.479929766 +0100
@@ -42,11 +42,12 @@
try:
+ _display = Gdk.Display.get_default()
cursord = {
- cursors.MOVE : Gdk.Cursor.new(Gdk.CursorType.FLEUR),
- cursors.HAND : Gdk.Cursor.new(Gdk.CursorType.HAND2),
- cursors.POINTER : Gdk.Cursor.new(Gdk.CursorType.LEFT_PTR),
- cursors.SELECT_REGION : Gdk.Cursor.new(Gdk.CursorType.TCROSS),
- cursors.WAIT : Gdk.Cursor.new(Gdk.CursorType.WATCH),
+ cursors.MOVE : Gdk.Cursor.new_from_name(_display, "move"),
+ cursors.HAND : Gdk.Cursor.new_from_name(_display, "pointer"),
+ cursors.POINTER : Gdk.Cursor.new_from_name(_display, "default"),
+ cursors.SELECT_REGION : Gdk.Cursor.new_from_name(_display, "crosshair"),
+ cursors.WAIT : Gdk.Cursor.new_from_name(_display, "wait"),
}
except TypeError as exc:
# Happens when running headless. Convert to ImportError to cooperate with

View file

@ -5131,8 +5131,9 @@ (define-public python-matplotlib
(method url-fetch)
(uri (pypi-uri "matplotlib" version))
(sha256
(base32
"1nmshfqh7wyg15i16hx1yiylcvzkws29ivn66n3i0wyqwcpjr3lf"))))
(base32 "1nmshfqh7wyg15i16hx1yiylcvzkws29ivn66n3i0wyqwcpjr3lf"))
(patches
(search-patches "python-matplotlib-run-under-wayland-gtk3.patch"))))
(build-system python-build-system)
(propagated-inputs ; the following packages are all needed at run time
`(("python-cycler" ,python-cycler)