aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias Geerinckx-Rice <me@tobias.gr>2021-03-02 18:08:27 +0100
committerTobias Geerinckx-Rice <me@tobias.gr>2021-03-02 18:31:42 +0100
commitc48c69194fee468d2ac16ccc25f012312083bf89 (patch)
tree2141d4b4b29dfdbee038fc4154fcfad662fc1ac7
parent8c5cafab4978514214aa899ff222597634d58074 (diff)
downloadguix-c48c69194fee468d2ac16ccc25f012312083bf89.tar
guix-c48c69194fee468d2ac16ccc25f012312083bf89.tar.gz
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.
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/patches/python-matplotlib-run-under-wayland-gtk3.patch31
-rw-r--r--gnu/packages/python-xyz.scm5
3 files changed, 35 insertions, 2 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 0954158d4c..81ca759503 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -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 \
diff --git a/gnu/packages/patches/python-matplotlib-run-under-wayland-gtk3.patch b/gnu/packages/patches/python-matplotlib-run-under-wayland-gtk3.patch
new file mode 100644
index 0000000000..6f067763b5
--- /dev/null
+++ b/gnu/packages/patches/python-matplotlib-run-under-wayland-gtk3.patch
@@ -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
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 01f1e66258..456cfea5c6 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -5131,8 +5131,9 @@ convert between colorspaces like sRGB, XYZ, CIEL*a*b*, CIECAM02, CAM02-UCS, etc.
(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)