Thomas Danckaert writes: > From: Thomas Danckaert > Subject: bug#25834: [PATCH 5/7] gnu: python-matplotlib: Update to 2.0.0. > Date: Wed, 22 Feb 2017 12:22:51 +0100 > >> From: Thomas Danckaert >> >> * gnu/packages/python.scm (python-matplotlib): Update to 2.0.0. >> [source]: Remove Tk backend patch, use Github instead of Sourceforge. >> [outputs]: Remove "doc" output. >> [propagated-inputs]: Add python-cycler. >> [native-inputs]: Remove python-sphinx, python-numpydoc, texlive and texinfo. >> (python-matplotlib-documentation, python2-matplotlib-documentation): New >> variable. >> * gnu/packages/patches/matplotlib-setupext-tk.patch: Delete file. >> * gnu/local.mk (dist_patch_DATA): Remove patch. > > I send an updated patch because I've realized that we now have python-qt as well. Adding python-qt enables the Qt5Agg backend (interactive plotting widget using Qt). > > I'm not sure if it should be a propagated input, though. With > python-qt as a regular input, the users have to install python-qt into > their profile if they want to use the Qt5Agg backend. When you ask matplotlib to use Qt5Agg but don't have python-qt in your profile, you get the following error: > >> ImportError: Matplotlib qt-based backends require an external PyQt4, >> PyQt5, or PySide package to be installed, but it was not found. > > This is unlike the TkAgg backend (similar plotting widget using Tk), > which is available immediately (I think because of the propagated > python-tkinter). Is this OK, or do we want to propagate python-qt as > well so everything works immediately? Pulling in Qt for matplotlib sounds a bit much. Since it supports three different qt backends and handles them missing gracefully, I think it's better to leave this choice to the user.