Compare commits

..

2 Commits
epel8 ... f29

Author SHA1 Message Date
Elliott Sales de Andrade
82aa7ee91e Restore missing sources. 2019-03-17 22:58:10 -04:00
Elliott Sales de Andrade
2c8079f719 Update to 2.2.4. 2019-03-09 23:59:00 -05:00
10 changed files with 600 additions and 760 deletions

11
.gitignore vendored
View File

@@ -26,13 +26,4 @@ matplotlib-1.0.0-without-gpc.tar.gz
/matplotlib-2.2.3.tar.gz
/matplotlib-2.2.3-with-freetype-2.8.tar.gz
/matplotlib-2.2.3-with-freetype-2.9.1.tar.gz
/matplotlib-3.0.0rc1.tar.gz
/matplotlib-3.0.0rc1-with-freetype-2.9.1.tar.gz
/matplotlib-3.0.0rc2.tar.gz
/matplotlib-3.0.0rc2-with-freetype-2.9.1.tar.gz
/matplotlib-3.0.0.tar.gz
/matplotlib-3.0.0-with-freetype-2.9.1.tar.gz
/matplotlib-3.0.1.tar.gz
/matplotlib-3.0.1-with-freetype-2.9.1.tar.gz
/matplotlib-3.0.2.tar.gz
/matplotlib-3.0.3.tar.gz
/matplotlib-2.2.4.tar.gz

View File

@@ -1,4 +1,4 @@
From fede0d8731c1301720f16e2d46df8275e8ecf9e8 Mon Sep 17 00:00:00 2001
From d873c282f4ab93f14c6b4ac6f4210852024dba78 Mon Sep 17 00:00:00 2001
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
Date: Sat, 2 Mar 2019 18:18:29 -0500
Subject: [PATCH] Use packaged jquery and jquery-ui.
@@ -7,8 +7,8 @@ Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
---
.../backends/web_backend/all_figures.html | 6 +--
.../backends/web_backend/single_figure.html | 6 +--
setup.py | 46 -------------------
3 files changed, 6 insertions(+), 52 deletions(-)
setup.py | 49 -------------------
3 files changed, 6 insertions(+), 55 deletions(-)
diff --git a/lib/matplotlib/backends/web_backend/all_figures.html b/lib/matplotlib/backends/web_backend/all_figures.html
index 41f48dc6d..69097eb4f 100644
@@ -45,10 +45,10 @@ index 4d5a366fb..c11c86618 100644
<script src="{{ prefix }}/js/mpl.js"></script>
<script>
diff --git a/setup.py b/setup.py
index 94c8106d3..42ae7e294 100644
index 41037e95d..7a0af717f 100644
--- a/setup.py
+++ b/setup.py
@@ -28,8 +28,6 @@ from zipfile import ZipFile
@@ -35,8 +35,6 @@ from zipfile import ZipFile
from setuptools import setup
from setuptools.command.build_ext import build_ext as BuildExtCommand
@@ -57,7 +57,7 @@ index 94c8106d3..42ae7e294 100644
from setuptools.command.test import test as TestCommand
# The setuptools version of sdist adds a setup.cfg file to the tree.
@@ -121,50 +119,6 @@ cmdclass['test'] = NoopTestCommand
@@ -146,53 +144,6 @@ cmdclass['test'] = NoopTestCommand
cmdclass['build_ext'] = BuildExtraLibraries
@@ -79,9 +79,12 @@ index 94c8106d3..42ae7e294 100644
-
-
-# Relying on versioneer's implementation detail.
-class sdist_with_jquery(cmdclass['sdist']):
-_orgin_sdist = cmdclass['sdist']
-
-
-class sdist_with_jquery(_orgin_sdist):
- def make_release_tree(self, base_dir, files):
- super(sdist_with_jquery, self).make_release_tree(base_dir, files)
- _orgin_sdist.make_release_tree(self, base_dir, files)
- _download_jquery_to(
- os.path.join(base_dir, "lib/matplotlib/backends/web_backend/"))
-
@@ -89,14 +92,14 @@ index 94c8106d3..42ae7e294 100644
-# Affects install and bdist_wheel.
-class install_lib_with_jquery(InstallLibCommand):
- def run(self):
- super(install_lib_with_jquery, self).run()
- InstallLibCommand.run(self)
- _download_jquery_to(
- os.path.join(self.install_dir, "matplotlib/backends/web_backend/"))
-
-
-class develop_with_jquery(DevelopCommand):
- def run(self):
- super(develop_with_jquery, self).run()
- DevelopCommand.run(self)
- _download_jquery_to("lib/matplotlib/backends/web_backend/")
-
-

View File

@@ -1,39 +1,32 @@
From eeeee74ff61646d321500490bbb9dbbcde424e14 Mon Sep 17 00:00:00 2001
From 84ebbed32cf1c0f4d56a6191ce7470fda6ea0543 Mon Sep 17 00:00:00 2001
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
Date: Wed, 27 Sep 2017 19:35:59 -0400
Subject: [PATCH 1/3] matplotlibrc path search fix
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
---
lib/matplotlib/__init__.py | 18 +++---------------
lib/matplotlib/__init__.py | 8 +++++---
lib/matplotlib/tests/test_rcparams.py | 22 ++++++++++++++++------
2 files changed, 19 insertions(+), 21 deletions(-)
2 files changed, 21 insertions(+), 9 deletions(-)
diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py
index 091cb6178..5648392ce 100644
index c5accc3c3..bc38f316c 100644
--- a/lib/matplotlib/__init__.py
+++ b/lib/matplotlib/__init__.py
@@ -664,18 +664,7 @@ def _get_data_path():
@@ -738,9 +738,12 @@ def _get_data_path():
_file = _decode_filesystem_path(__file__)
path = os.sep.join([os.path.dirname(_file), 'mpl-data'])
+ path = '/usr/share/matplotlib/mpl-data'
if os.path.isdir(path):
return path
def get_candidate_paths():
- yield Path(__file__).with_name('mpl-data')
- # setuptools' namespace_packages may highjack this init file
- # so need to try something known to be in Matplotlib, not basemap.
- import matplotlib.afm
- yield Path(matplotlib.afm.__file__).with_name('mpl-data')
- # py2exe zips pure python, so still need special check.
- if getattr(sys, 'frozen', None):
- yield Path(sys.executable).with_name('mpl-data')
- # Try again assuming we need to step up one more directory.
- yield Path(sys.executable).parent.with_name('mpl-data')
- # Try again assuming sys.path[0] is a dir not a exe.
- yield Path(sys.path[0]) / 'mpl-data'
+ yield Path('/usr/share/matplotlib/mpl-data')
for path in get_candidate_paths():
if path.is_dir():
@@ -727,8 +716,7 @@ def matplotlib_fname():
+ raise RuntimeError('Could not find the matplotlib data files')
+
# setuptools' namespace_packages may highjack this init file
# so need to try something known to be in matplotlib, not basemap
import matplotlib.afm
@@ -821,8 +824,7 @@ def matplotlib_fname():
- `$HOME/.matplotlib/matplotlibrc` if `$HOME` is defined.
@@ -43,20 +36,20 @@ index 091cb6178..5648392ce 100644
"""
def gen_candidates():
@@ -741,7 +729,7 @@ def matplotlib_fname():
@@ -835,7 +837,7 @@ def matplotlib_fname():
yield matplotlibrc
yield os.path.join(matplotlibrc, 'matplotlibrc')
yield os.path.join(get_configdir(), 'matplotlibrc')
yield os.path.join(_get_configdir(), 'matplotlibrc')
- yield os.path.join(get_data_path(), 'matplotlibrc')
+ yield '/etc/matplotlibrc'
for fname in gen_candidates():
if os.path.exists(fname):
diff --git a/lib/matplotlib/tests/test_rcparams.py b/lib/matplotlib/tests/test_rcparams.py
index 7eec4d421..4c74619f6 100644
index c0378e1bf..7f14bcc46 100644
--- a/lib/matplotlib/tests/test_rcparams.py
+++ b/lib/matplotlib/tests/test_rcparams.py
@@ -451,11 +451,22 @@ def test_rcparams_reset_after_fail():
@@ -424,14 +424,25 @@ def test_rcparams_reset_after_fail():
assert mpl.rcParams['text.usetex'] is False
@@ -74,15 +67,18 @@ index 7eec4d421..4c74619f6 100644
+
+
+def test_if_rctemplate_is_up_to_date(mplrc):
# This tests if the matplotlibrc.template file contains all valid rcParams.
deprecated = {*mpl._all_deprecated, *mpl._deprecated_remain_as_none}
# This tests if the matplotlibrc.template file
# contains all valid rcParams.
dep1 = mpl._all_deprecated
dep2 = mpl._deprecated_set
deprecated = list(dep1.union(dep2))
- path_to_rc = os.path.join(mpl.get_data_path(), 'matplotlibrc')
- with open(path_to_rc, "r") as f:
+ with open(mplrc, "r") as f:
rclines = f.readlines()
missing = {}
for k, v in mpl.defaultParams.items():
@@ -478,11 +489,10 @@ def test_if_rctemplate_is_up_to_date():
@@ -453,11 +464,10 @@ def test_if_rctemplate_is_up_to_date():
.format(missing.items()))

View File

@@ -1,40 +1,27 @@
From 64c0ea2ea7986d6cb05b41d37226f510ffe41b76 Mon Sep 17 00:00:00 2001
From 95035beb712088f9b66aae9cc810a1a94685d0da Mon Sep 17 00:00:00 2001
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
Date: Tue, 23 Jan 2018 20:27:17 -0500
Subject: [PATCH 2/3] Increase tolerances for non-x86_64 arches.
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
---
lib/matplotlib/tests/test_streamplot.py | 2 +-
lib/mpl_toolkits/tests/test_axes_grid1.py | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
lib/matplotlib/tests/test_streamplot.py | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/lib/matplotlib/tests/test_streamplot.py b/lib/matplotlib/tests/test_streamplot.py
index 17c0d1967..e261513df 100644
index 81a51e711..4f70ce861 100644
--- a/lib/matplotlib/tests/test_streamplot.py
+++ b/lib/matplotlib/tests/test_streamplot.py
@@ -61,7 +61,7 @@ def test_linewidth():
@@ -58,8 +58,7 @@ def test_linewidth():
linewidth=lw)
@image_comparison(baseline_images=['streamplot_masks_and_nans'],
- tol=0.04 if on_win else 0,
+ tol=0.04 if on_win else 0.01,
remove_text=True, style='mpl20')
-@image_comparison(baseline_images=['streamplot_masks_and_nans'],
- tol=0.04 if on_win else 0)
+@image_comparison(baseline_images=['streamplot_masks_and_nans'], tol=0.01)
def test_masks_and_nans():
X, Y, U, V = velocity_field()
diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py
index ddbf7e9f7..86e49cc45 100644
--- a/lib/mpl_toolkits/tests/test_axes_grid1.py
+++ b/lib/mpl_toolkits/tests/test_axes_grid1.py
@@ -361,7 +361,7 @@ def test_zooming_with_inverted_axes():
@image_comparison(baseline_images=['anchored_direction_arrows'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.02,
extensions=['png'])
def test_anchored_direction_arrows():
fig, ax = plt.subplots()
mask = np.zeros(U.shape, dtype=bool)
--
2.20.1

View File

@@ -1,4 +1,4 @@
From 4b3c9145a4c247197a40c5314151566e437f7bbe Mon Sep 17 00:00:00 2001
From bcb05f18d78d2a467ddc9cdb0e6bcebd41116ee5 Mon Sep 17 00:00:00 2001
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
Date: Sat, 31 Mar 2018 00:15:14 -0400
Subject: [PATCH 3/3] Increase some tolerances for 32-bit systems.
@@ -7,33 +7,29 @@ Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
---
lib/matplotlib/testing/decorators.py | 2 +-
lib/matplotlib/tests/test_artist.py | 3 +-
lib/matplotlib/tests/test_axes.py | 49 ++++++++++---------
lib/matplotlib/tests/test_axes.py | 47 +++++++++----------
lib/matplotlib/tests/test_collections.py | 2 +-
lib/matplotlib/tests/test_colorbar.py | 11 +++--
.../tests/test_constrainedlayout.py | 2 +-
lib/matplotlib/tests/test_contour.py | 8 +--
lib/matplotlib/tests/test_cycles.py | 3 --
lib/matplotlib/tests/test_figure.py | 3 +-
lib/matplotlib/tests/test_contour.py | 6 +--
lib/matplotlib/tests/test_image.py | 2 +-
lib/matplotlib/tests/test_legend.py | 5 +-
lib/matplotlib/tests/test_mathtext.py | 4 +-
lib/matplotlib/tests/test_patches.py | 3 +-
lib/matplotlib/tests/test_patheffects.py | 2 +-
lib/matplotlib/tests/test_pickle.py | 2 +-
lib/matplotlib/tests/test_quiver.py | 2 +-
lib/matplotlib/tests/test_streamplot.py | 2 +-
lib/matplotlib/tests/test_streamplot.py | 3 +-
lib/matplotlib/tests/test_transforms.py | 2 +-
lib/matplotlib/tests/test_units.py | 1 -
.../tests/test_axisartist_floating_axes.py | 4 +-
...test_axisartist_grid_helper_curvelinear.py | 6 +--
lib/mpl_toolkits/tests/test_mplot3d.py | 4 +-
22 files changed, 59 insertions(+), 63 deletions(-)
18 files changed, 53 insertions(+), 54 deletions(-)
diff --git a/lib/matplotlib/testing/decorators.py b/lib/matplotlib/testing/decorators.py
index 85b8d5e87..f3fc47c68 100644
index d008446dc..2d930cacc 100644
--- a/lib/matplotlib/testing/decorators.py
+++ b/lib/matplotlib/testing/decorators.py
@@ -338,7 +338,7 @@ def _pytest_image_comparison(baseline_images, extensions, tol,
@@ -418,7 +418,7 @@ def _pytest_image_comparison(baseline_images, extensions, tol,
return decorator
@@ -43,10 +39,10 @@ index 85b8d5e87..f3fc47c68 100644
savefig_kwarg=None,
# Default of mpl_test_settings fixture and cleanup too.
diff --git a/lib/matplotlib/tests/test_artist.py b/lib/matplotlib/tests/test_artist.py
index 283db9abe..2ae11142c 100644
index e6aff72bf..b60305bcf 100644
--- a/lib/matplotlib/tests/test_artist.py
+++ b/lib/matplotlib/tests/test_artist.py
@@ -94,7 +94,8 @@ def test_collection_transform_of_none():
@@ -96,7 +96,8 @@ def test_collection_transform_of_none():
assert isinstance(c._transOffset, mtransforms.IdentityTransform)
@@ -57,19 +53,29 @@ index 283db9abe..2ae11142c 100644
exterior = mpath.Path.unit_rectangle().deepcopy()
exterior.vertices *= 4
diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
index c0e0e560d..6e88c167c 100644
index dde856669..5cfd4151a 100644
--- a/lib/matplotlib/tests/test_axes.py
+++ b/lib/matplotlib/tests/test_axes.py
@@ -554,7 +554,7 @@ def test_single_point():
@@ -555,7 +555,7 @@ def test_single_point():
plt.plot('b', 'b', 'o', data=data)
@image_comparison(baseline_images=['single_date'], extensions=['png'],
- style='mpl20')
+ style='mpl20', tol=1.97)
-@image_comparison(baseline_images=['single_date'])
+@image_comparison(baseline_images=['single_date'], tol=1.97)
def test_single_date():
time1 = [721964.0]
data1 = [-65.54]
@@ -1028,7 +1028,7 @@ def test_fill_between_interpolate():
@@ -739,8 +739,7 @@ def test_polar_rlabel_position():
ax.tick_params(rotation='auto')
-@image_comparison(baseline_images=['polar_theta_wedge'], style='default',
- tol=0.01 if six.PY2 else 0)
+@image_comparison(baseline_images=['polar_theta_wedge'], style='default')
def test_polar_theta_limits():
r = np.arange(0, 3.0, 0.01)
theta = 2*np.pi*r
@@ -1023,7 +1022,7 @@ def test_fill_between_interpolate():
@image_comparison(baseline_images=['fill_between_interpolate_decreasing'],
@@ -78,27 +84,25 @@ index c0e0e560d..6e88c167c 100644
def test_fill_between_interpolate_decreasing():
p = np.array([724.3, 700, 655])
t = np.array([9.4, 7, 2.2])
@@ -1110,7 +1110,8 @@ def test_pcolormesh():
@@ -1105,7 +1104,7 @@ def test_pcolormesh():
@image_comparison(baseline_images=['pcolormesh_datetime_axis'],
- extensions=['png'], remove_text=False, style='mpl20')
+ extensions=['png'], remove_text=False, style='mpl20',
+ tol=0.19)
- extensions=['png'], remove_text=False)
+ extensions=['png'], remove_text=False, tol=0.19)
def test_pcolormesh_datetime_axis():
fig = plt.figure()
fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15)
@@ -1136,7 +1137,8 @@ def test_pcolormesh_datetime_axis():
@@ -1131,7 +1130,7 @@ def test_pcolormesh_datetime_axis():
@image_comparison(baseline_images=['pcolor_datetime_axis'],
- extensions=['png'], remove_text=False, style='mpl20')
+ extensions=['png'], remove_text=False, style='mpl20',
+ tol=0.19)
- extensions=['png'], remove_text=False)
+ extensions=['png'], remove_text=False, tol=0.19)
def test_pcolor_datetime_axis():
fig = plt.figure()
fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15)
@@ -1193,7 +1195,7 @@ def test_canonical():
@@ -1188,7 +1187,7 @@ def test_canonical():
@image_comparison(baseline_images=['arc_angles'], remove_text=True,
@@ -107,7 +111,7 @@ index c0e0e560d..6e88c167c 100644
def test_arc_angles():
from matplotlib import patches
# Ellipse parameters
@@ -2540,7 +2542,7 @@ def test_boxplot_mod_artist_after_plotting():
@@ -2450,7 +2449,7 @@ def test_boxplot_mod_artist_after_plotting():
@image_comparison(baseline_images=['violinplot_vert_baseline',
'violinplot_vert_baseline'],
@@ -116,7 +120,7 @@ index c0e0e560d..6e88c167c 100644
def test_vert_violinplot_baseline():
# First 9 digits of frac(sqrt(2))
np.random.seed(414213562)
@@ -2558,7 +2560,7 @@ def test_vert_violinplot_baseline():
@@ -2468,7 +2467,7 @@ def test_vert_violinplot_baseline():
@image_comparison(baseline_images=['violinplot_vert_showmeans'],
@@ -125,7 +129,7 @@ index c0e0e560d..6e88c167c 100644
def test_vert_violinplot_showmeans():
ax = plt.axes()
# First 9 digits of frac(sqrt(3))
@@ -2569,7 +2571,7 @@ def test_vert_violinplot_showmeans():
@@ -2479,7 +2478,7 @@ def test_vert_violinplot_showmeans():
@image_comparison(baseline_images=['violinplot_vert_showextrema'],
@@ -134,7 +138,7 @@ index c0e0e560d..6e88c167c 100644
def test_vert_violinplot_showextrema():
ax = plt.axes()
# First 9 digits of frac(sqrt(5))
@@ -2580,7 +2582,7 @@ def test_vert_violinplot_showextrema():
@@ -2490,7 +2489,7 @@ def test_vert_violinplot_showextrema():
@image_comparison(baseline_images=['violinplot_vert_showmedians'],
@@ -143,7 +147,7 @@ index c0e0e560d..6e88c167c 100644
def test_vert_violinplot_showmedians():
ax = plt.axes()
# First 9 digits of frac(sqrt(7))
@@ -2591,7 +2593,7 @@ def test_vert_violinplot_showmedians():
@@ -2501,7 +2500,7 @@ def test_vert_violinplot_showmedians():
@image_comparison(baseline_images=['violinplot_vert_showall'],
@@ -152,7 +156,7 @@ index c0e0e560d..6e88c167c 100644
def test_vert_violinplot_showall():
ax = plt.axes()
# First 9 digits of frac(sqrt(11))
@@ -2602,7 +2604,7 @@ def test_vert_violinplot_showall():
@@ -2512,7 +2511,7 @@ def test_vert_violinplot_showall():
@image_comparison(baseline_images=['violinplot_vert_custompoints_10'],
@@ -161,7 +165,7 @@ index c0e0e560d..6e88c167c 100644
def test_vert_violinplot_custompoints_10():
ax = plt.axes()
# First 9 digits of frac(sqrt(13))
@@ -2613,7 +2615,7 @@ def test_vert_violinplot_custompoints_10():
@@ -2523,7 +2522,7 @@ def test_vert_violinplot_custompoints_10():
@image_comparison(baseline_images=['violinplot_vert_custompoints_200'],
@@ -170,7 +174,7 @@ index c0e0e560d..6e88c167c 100644
def test_vert_violinplot_custompoints_200():
ax = plt.axes()
# First 9 digits of frac(sqrt(17))
@@ -2624,7 +2626,7 @@ def test_vert_violinplot_custompoints_200():
@@ -2534,7 +2533,7 @@ def test_vert_violinplot_custompoints_200():
@image_comparison(baseline_images=['violinplot_horiz_baseline'],
@@ -179,7 +183,7 @@ index c0e0e560d..6e88c167c 100644
def test_horiz_violinplot_baseline():
ax = plt.axes()
# First 9 digits of frac(sqrt(19))
@@ -2635,7 +2637,7 @@ def test_horiz_violinplot_baseline():
@@ -2545,7 +2544,7 @@ def test_horiz_violinplot_baseline():
@image_comparison(baseline_images=['violinplot_horiz_showmedians'],
@@ -188,7 +192,7 @@ index c0e0e560d..6e88c167c 100644
def test_horiz_violinplot_showmedians():
ax = plt.axes()
# First 9 digits of frac(sqrt(23))
@@ -2646,7 +2648,7 @@ def test_horiz_violinplot_showmedians():
@@ -2556,7 +2555,7 @@ def test_horiz_violinplot_showmedians():
@image_comparison(baseline_images=['violinplot_horiz_showmeans'],
@@ -197,7 +201,7 @@ index c0e0e560d..6e88c167c 100644
def test_horiz_violinplot_showmeans():
ax = plt.axes()
# First 9 digits of frac(sqrt(29))
@@ -2657,7 +2659,7 @@ def test_horiz_violinplot_showmeans():
@@ -2567,7 +2566,7 @@ def test_horiz_violinplot_showmeans():
@image_comparison(baseline_images=['violinplot_horiz_showextrema'],
@@ -206,7 +210,7 @@ index c0e0e560d..6e88c167c 100644
def test_horiz_violinplot_showextrema():
ax = plt.axes()
# First 9 digits of frac(sqrt(31))
@@ -2668,7 +2670,7 @@ def test_horiz_violinplot_showextrema():
@@ -2578,7 +2577,7 @@ def test_horiz_violinplot_showextrema():
@image_comparison(baseline_images=['violinplot_horiz_showall'],
@@ -215,7 +219,7 @@ index c0e0e560d..6e88c167c 100644
def test_horiz_violinplot_showall():
ax = plt.axes()
# First 9 digits of frac(sqrt(37))
@@ -2679,7 +2681,7 @@ def test_horiz_violinplot_showall():
@@ -2589,7 +2588,7 @@ def test_horiz_violinplot_showall():
@image_comparison(baseline_images=['violinplot_horiz_custompoints_10'],
@@ -224,7 +228,7 @@ index c0e0e560d..6e88c167c 100644
def test_horiz_violinplot_custompoints_10():
ax = plt.axes()
# First 9 digits of frac(sqrt(41))
@@ -2690,7 +2692,7 @@ def test_horiz_violinplot_custompoints_10():
@@ -2600,7 +2599,7 @@ def test_horiz_violinplot_custompoints_10():
@image_comparison(baseline_images=['violinplot_horiz_custompoints_200'],
@@ -233,17 +237,7 @@ index c0e0e560d..6e88c167c 100644
def test_horiz_violinplot_custompoints_200():
ax = plt.axes()
# First 9 digits of frac(sqrt(43))
@@ -3369,8 +3371,7 @@ def test_vertex_markers():
@image_comparison(baseline_images=['vline_hline_zorder',
- 'errorbar_zorder'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+ 'errorbar_zorder'])
def test_eb_line_zorder():
x = list(range(10))
@@ -4050,7 +4051,7 @@ def test_psd_noise():
@@ -3944,7 +3943,7 @@ def test_psd_noise():
@image_comparison(baseline_images=['csd_freqs'], remove_text=True,
@@ -252,7 +246,7 @@ index c0e0e560d..6e88c167c 100644
def test_csd_freqs():
'''test axes.csd with sinusoidal stimuli'''
n = 10000
@@ -4943,7 +4944,7 @@ def test_rc_spines():
@@ -4803,7 +4802,7 @@ def test_rc_spines():
@image_comparison(baseline_images=['rc_grid'], extensions=['png'],
@@ -261,7 +255,7 @@ index c0e0e560d..6e88c167c 100644
def test_rc_grid():
fig = plt.figure()
rc_dict0 = {
@@ -5462,7 +5463,7 @@ def test_date_timezone_y():
@@ -5298,7 +5297,7 @@ def test_date_timezone_y():
@image_comparison(baseline_images=['date_timezone_x_and_y'],
@@ -269,12 +263,12 @@ index c0e0e560d..6e88c167c 100644
+ extensions=['png'], tol=3.05)
def test_date_timezone_x_and_y():
# Tests issue 5575
UTC = datetime.timezone.utc
time_index = [pytz.timezone('UTC').localize(datetime.datetime(
diff --git a/lib/matplotlib/tests/test_collections.py b/lib/matplotlib/tests/test_collections.py
index 6812ee1ad..5e5f19aac 100644
index 291647d17..265f23fed 100644
--- a/lib/matplotlib/tests/test_collections.py
+++ b/lib/matplotlib/tests/test_collections.py
@@ -466,7 +466,7 @@ def test_EllipseCollection():
@@ -467,7 +467,7 @@ def test_EllipseCollection():
@image_comparison(baseline_images=['polycollection_close'],
@@ -284,10 +278,10 @@ index 6812ee1ad..5e5f19aac 100644
from mpl_toolkits.mplot3d import Axes3D
diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py
index 1c358c09a..21019be34 100644
index 12a9bed3b..86d2358fb 100644
--- a/lib/matplotlib/tests/test_colorbar.py
+++ b/lib/matplotlib/tests/test_colorbar.py
@@ -94,7 +94,7 @@ def _colorbar_extension_length(spacing):
@@ -95,7 +95,7 @@ def _colorbar_extension_length(spacing):
@image_comparison(
baseline_images=['colorbar_extensions_shape_uniform',
'colorbar_extensions_shape_proportional'],
@@ -296,7 +290,7 @@ index 1c358c09a..21019be34 100644
def test_colorbar_extension_shape():
'''Test rectangular colorbar extensions.'''
# Create figures for uniform and proportionally spaced colorbars.
@@ -104,7 +104,7 @@ def test_colorbar_extension_shape():
@@ -105,7 +105,7 @@ def test_colorbar_extension_shape():
@image_comparison(baseline_images=['colorbar_extensions_uniform',
'colorbar_extensions_proportional'],
@@ -305,7 +299,7 @@ index 1c358c09a..21019be34 100644
def test_colorbar_extension_length():
'''Test variable length colorbar extensions.'''
# Create figures for uniform and proportionally spaced colorbars.
@@ -118,7 +118,7 @@ def test_colorbar_extension_length():
@@ -119,7 +119,7 @@ def test_colorbar_extension_length():
'cbar_sharing',
],
extensions=['png'], remove_text=True,
@@ -314,7 +308,7 @@ index 1c358c09a..21019be34 100644
def test_colorbar_positioning():
data = np.arange(1200).reshape(30, 40)
levels = [0, 200, 400, 600, 800, 1000, 1200]
@@ -172,7 +172,7 @@ def test_colorbar_positioning():
@@ -173,7 +173,7 @@ def test_colorbar_positioning():
@image_comparison(baseline_images=['cbar_with_subplots_adjust'],
extensions=['png'], remove_text=True,
@@ -323,7 +317,7 @@ index 1c358c09a..21019be34 100644
def test_gridspec_make_colorbar():
plt.figure()
data = np.arange(1200).reshape(30, 40)
@@ -231,7 +231,8 @@ def test_colorbarbase():
@@ -232,7 +232,8 @@ def test_colorbarbase():
@image_comparison(
baseline_images=['colorbar_closed_patch'],
@@ -334,10 +328,10 @@ index 1c358c09a..21019be34 100644
fig = plt.figure(figsize=(8, 6))
ax1 = fig.add_axes([0.05, 0.85, 0.9, 0.1])
diff --git a/lib/matplotlib/tests/test_constrainedlayout.py b/lib/matplotlib/tests/test_constrainedlayout.py
index de8161ea7..a1f307abe 100644
index fcf633a08..cad431771 100644
--- a/lib/matplotlib/tests/test_constrainedlayout.py
+++ b/lib/matplotlib/tests/test_constrainedlayout.py
@@ -246,7 +246,7 @@ def test_constrained_layout12():
@@ -295,7 +295,7 @@ def test_constrained_layout12():
ax.set_xlabel('x-label')
@@ -347,30 +341,28 @@ index de8161ea7..a1f307abe 100644
def test_constrained_layout13():
'Test that padding works.'
diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py
index c1f27b9ef..149afadb9 100644
index 42903ac68..f03a5d0af 100644
--- a/lib/matplotlib/tests/test_contour.py
+++ b/lib/matplotlib/tests/test_contour.py
@@ -227,7 +227,8 @@ def test_given_colors_levels_and_extends():
@@ -217,7 +217,7 @@ def test_given_colors_levels_and_extends():
@image_comparison(baseline_images=['contour_datetime_axis'],
- extensions=['png'], remove_text=False, style='mpl20')
+ extensions=['png'], remove_text=False, style='mpl20',
+ tol=0.18)
- extensions=['png'], remove_text=False)
+ extensions=['png'], remove_text=False, tol=0.18)
def test_contour_datetime_axis():
fig = plt.figure()
fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15)
@@ -253,7 +254,8 @@ def test_contour_datetime_axis():
@@ -243,7 +243,7 @@ def test_contour_datetime_axis():
@image_comparison(baseline_images=['contour_test_label_transforms'],
- extensions=['png'], remove_text=True, style='mpl20')
+ extensions=['png'], remove_text=True, style='mpl20',
+ tol=1.38)
- extensions=['png'], remove_text=True)
+ extensions=['png'], remove_text=True, tol=1.38)
def test_labels():
# Adapted from pylab_examples example code: contour_demo.py
# see issues #2475, #2843, and #2818 for explanation
@@ -284,7 +286,7 @@ def test_labels():
@@ -274,7 +274,7 @@ def test_labels():
@image_comparison(baseline_images=['contour_corner_mask_False',
'contour_corner_mask_True'],
@@ -379,96 +371,24 @@ index c1f27b9ef..149afadb9 100644
def test_corner_mask():
n = 60
mask_level = 0.95
diff --git a/lib/matplotlib/tests/test_cycles.py b/lib/matplotlib/tests/test_cycles.py
index 8184d3eee..5a067f8e0 100644
--- a/lib/matplotlib/tests/test_cycles.py
+++ b/lib/matplotlib/tests/test_cycles.py
@@ -10,7 +10,6 @@ from cycler import cycler
@image_comparison(baseline_images=['color_cycle_basic'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
extensions=['png'])
def test_colorcycle_basic():
fig, ax = plt.subplots()
@@ -28,7 +27,6 @@ def test_colorcycle_basic():
@image_comparison(baseline_images=['marker_cycle', 'marker_cycle'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
remove_text=True, extensions=['png'])
def test_marker_cycle():
fig, ax = plt.subplots()
@@ -62,7 +60,6 @@ def test_marker_cycle():
@image_comparison(baseline_images=['lineprop_cycle_basic'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
extensions=['png'])
def test_linestylecycle_basic():
fig, ax = plt.subplots()
diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py
index 4c688eb05..826b44869 100644
--- a/lib/matplotlib/tests/test_figure.py
+++ b/lib/matplotlib/tests/test_figure.py
@@ -13,8 +13,7 @@ import numpy as np
import pytest
-@image_comparison(baseline_images=['figure_align_labels'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+@image_comparison(baseline_images=['figure_align_labels'])
def test_align_labels():
# Check the figure.align_labels() command
fig = plt.figure(tight_layout=True)
diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py
index c0ffc061a..ace55c2f5 100644
index c8a23347f..5a23ded19 100644
--- a/lib/matplotlib/tests/test_image.py
+++ b/lib/matplotlib/tests/test_image.py
@@ -766,7 +766,7 @@ def test_imshow_endianess():
@@ -761,7 +761,7 @@ def test_imshow_endianess():
@image_comparison(baseline_images=['imshow_masked_interpolation'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.25,
remove_text=True, style='mpl20')
- remove_text=True, style='mpl20')
+ remove_text=True, style='mpl20', tol=0.25)
def test_imshow_masked_interpolation():
diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py
index d508d6f41..69286069d 100644
--- a/lib/matplotlib/tests/test_legend.py
+++ b/lib/matplotlib/tests/test_legend.py
@@ -108,7 +108,6 @@ def test_multiple_keys():
@image_comparison(baseline_images=['rgba_alpha'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
extensions=['png'], remove_text=True)
def test_alpha_rgba():
import matplotlib.pyplot as plt
@@ -120,7 +119,6 @@ def test_alpha_rgba():
@image_comparison(baseline_images=['rcparam_alpha'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
extensions=['png'], remove_text=True)
def test_alpha_rcparam():
import matplotlib.pyplot as plt
@@ -148,8 +146,7 @@ def test_fancy():
ncol=2, shadow=True, title="My legend", numpoints=1)
-@image_comparison(baseline_images=['framealpha'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+@image_comparison(baseline_images=['framealpha'], remove_text=True)
def test_framealpha():
x = np.linspace(1, 100, 100)
y = x
cm = copy(plt.get_cmap('viridis'))
diff --git a/lib/matplotlib/tests/test_mathtext.py b/lib/matplotlib/tests/test_mathtext.py
index a05c8b3c8..b6f11281f 100644
index af6701a0f..151b061a5 100644
--- a/lib/matplotlib/tests/test_mathtext.py
+++ b/lib/matplotlib/tests/test_mathtext.py
@@ -169,7 +169,7 @@ def baseline_images(request, fontset, index):
@@ -173,7 +173,7 @@ def baseline_images(request, fontset, index):
['cm', 'stix', 'stixsans', 'dejavusans',
'dejavuserif'])
@pytest.mark.parametrize('baseline_images', ['mathtext'], indirect=True)
@@ -477,7 +397,7 @@ index a05c8b3c8..b6f11281f 100644
def test_mathtext_rendering(baseline_images, fontset, index, test):
matplotlib.rcParams['mathtext.fontset'] = fontset
fig = plt.figure(figsize=(5.25, 0.75))
@@ -183,7 +183,7 @@ def test_mathtext_rendering(baseline_images, fontset, index, test):
@@ -187,7 +187,7 @@ def test_mathtext_rendering(baseline_images, fontset, index, test):
['cm', 'stix', 'stixsans', 'dejavusans',
'dejavuserif'])
@pytest.mark.parametrize('baseline_images', ['mathfont'], indirect=True)
@@ -487,10 +407,10 @@ index a05c8b3c8..b6f11281f 100644
matplotlib.rcParams['mathtext.fontset'] = fontset
fig = plt.figure(figsize=(5.25, 0.75))
diff --git a/lib/matplotlib/tests/test_patches.py b/lib/matplotlib/tests/test_patches.py
index 89a77e258..2e5c16f75 100644
index ff1abb9c6..cc90e6bb0 100644
--- a/lib/matplotlib/tests/test_patches.py
+++ b/lib/matplotlib/tests/test_patches.py
@@ -260,9 +260,8 @@ def test_wedge_movement():
@@ -266,9 +266,8 @@ def test_wedge_movement():
assert getattr(w, attr) == new_v
@@ -502,36 +422,36 @@ index 89a77e258..2e5c16f75 100644
ax = plt.axes()
diff --git a/lib/matplotlib/tests/test_patheffects.py b/lib/matplotlib/tests/test_patheffects.py
index 6e80d8d98..0f158eb9e 100644
index fe7265957..2addc35ed 100644
--- a/lib/matplotlib/tests/test_patheffects.py
+++ b/lib/matplotlib/tests/test_patheffects.py
@@ -119,7 +119,7 @@ def test_SimplePatchShadow_offset():
@@ -121,7 +121,7 @@ def test_SimplePatchShadow_offset():
assert pe._offset == (4, 5)
-@image_comparison(baseline_images=['collection'], tol=0.02, style='mpl20')
+@image_comparison(baseline_images=['collection'], tol=0.084, style='mpl20')
-@image_comparison(baseline_images=['collection'], tol=0.02)
+@image_comparison(baseline_images=['collection'], tol=0.084)
def test_collection():
x, y = np.meshgrid(np.linspace(0, 10, 150), np.linspace(-5, 5, 100))
data = np.sin(x) + np.cos(y)
diff --git a/lib/matplotlib/tests/test_pickle.py b/lib/matplotlib/tests/test_pickle.py
index 9cb806c6f..c0ccf5f8c 100644
index 89a5a512e..a25961284 100644
--- a/lib/matplotlib/tests/test_pickle.py
+++ b/lib/matplotlib/tests/test_pickle.py
@@ -44,7 +44,7 @@ def test_simple():
@@ -42,7 +42,7 @@ def test_simple():
@image_comparison(baseline_images=['multi_pickle'],
extensions=['png'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.11,
style='mpl20')
- style='mpl20')
+ style='mpl20', tol=0.11)
def test_complete():
fig = plt.figure('Figure with a label?', figsize=(10, 6))
diff --git a/lib/matplotlib/tests/test_quiver.py b/lib/matplotlib/tests/test_quiver.py
index 4470e02fa..70aa1e718 100644
index a0e1e674f..ede6bfc64 100644
--- a/lib/matplotlib/tests/test_quiver.py
+++ b/lib/matplotlib/tests/test_quiver.py
@@ -130,7 +130,7 @@ def test_quiver_key_pivot():
@@ -131,7 +131,7 @@ def test_quiver_key_pivot():
@image_comparison(baseline_images=['barbs_test_image'],
@@ -541,48 +461,37 @@ index 4470e02fa..70aa1e718 100644
x = np.linspace(-5, 5, 5)
X, Y = np.meshgrid(x, x)
diff --git a/lib/matplotlib/tests/test_streamplot.py b/lib/matplotlib/tests/test_streamplot.py
index e261513df..907841494 100644
index 4f70ce861..5bc8184f7 100644
--- a/lib/matplotlib/tests/test_streamplot.py
+++ b/lib/matplotlib/tests/test_streamplot.py
@@ -40,7 +40,7 @@ def test_startpoints():
@@ -39,8 +39,7 @@ def test_startpoints():
plt.plot(start_x, start_y, 'ok')
@image_comparison(baseline_images=['streamplot_colormap'],
- tol=.04, remove_text=True, style='mpl20')
+ remove_text=True, style='mpl20')
-@image_comparison(baseline_images=['streamplot_colormap'],
- tol=.02)
+@image_comparison(baseline_images=['streamplot_colormap'])
def test_colormap():
X, Y, U, V = velocity_field()
plt.streamplot(X, Y, U, V, color=U, density=0.6, linewidth=2,
diff --git a/lib/matplotlib/tests/test_transforms.py b/lib/matplotlib/tests/test_transforms.py
index 6275d5b54..a5c03f0a3 100644
index 06985db84..8efaef898 100644
--- a/lib/matplotlib/tests/test_transforms.py
+++ b/lib/matplotlib/tests/test_transforms.py
@@ -70,7 +70,7 @@ def test_external_transform_api():
@@ -74,7 +74,7 @@ def test_external_transform_api():
@image_comparison(baseline_images=['pre_transform_data'],
- tol=0.08, remove_text=True, style='mpl20')
+ tol=0.155, remove_text=True, style='mpl20')
- tol=0.08)
+ tol=0.155)
def test_pre_transform_plotting():
# a catch-all for as many as possible plot layouts which handle
# pre-transforming the data NOTE: The axis range is important in this
diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py
index fec498af3..fe8f3f383 100644
--- a/lib/matplotlib/tests/test_units.py
+++ b/lib/matplotlib/tests/test_units.py
@@ -75,7 +75,6 @@ def quantity_converter():
# Tests that the conversion machinery works properly for classes that
# work as a facade over numpy arrays (like pint)
@image_comparison(baseline_images=['plot_pint'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
extensions=['png'], remove_text=False, style='mpl20')
def test_numpy_facade(quantity_converter):
# Register the class
diff --git a/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py b/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py
index 929c0368a..e6e5ca1ff 100644
index de7226609..2676fc842 100644
--- a/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py
+++ b/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py
@@ -21,7 +21,7 @@ def test_subplot():
@@ -24,7 +24,7 @@ def test_subplot():
@image_comparison(baseline_images=['curvelinear3'],
@@ -591,20 +500,20 @@ index 929c0368a..e6e5ca1ff 100644
def test_curvelinear3():
fig = plt.figure(figsize=(5, 5))
fig.clf()
@@ -77,7 +77,7 @@ def test_curvelinear3():
@@ -80,7 +80,7 @@ def test_curvelinear3():
@image_comparison(baseline_images=['curvelinear4'],
- extensions=['png'], style='default', tol=0.015)
- extensions=['png'], style='default', tol=0.01)
+ extensions=['png'], style='default', tol=0.055)
def test_curvelinear4():
fig = plt.figure(figsize=(5, 5))
fig.clf()
diff --git a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py
index 32e1c884d..2b38866c5 100644
index a7c637428..e22f4ac3e 100644
--- a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py
+++ b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py
@@ -17,7 +17,7 @@ from mpl_toolkits.axisartist.grid_helper_curvelinear import \
@@ -19,7 +19,7 @@ from mpl_toolkits.axisartist.grid_helper_curvelinear import \
@image_comparison(baseline_images=['custom_transform'],
@@ -613,16 +522,16 @@ index 32e1c884d..2b38866c5 100644
def test_custom_transform():
class MyTransform(Transform):
input_dims = 2
@@ -85,7 +85,7 @@ def test_custom_transform():
@@ -91,7 +91,7 @@ def test_custom_transform():
@image_comparison(baseline_images=['polar_box'],
- tol={'aarch64': 0.04}.get(platform.machine(), 0.03),
+ tol=0.08,
extensions=['png'], style='default')
- extensions=['png'], style='default', tol=0.03)
+ extensions=['png'], style='default', tol=0.08)
def test_polar_box():
fig = plt.figure(figsize=(5, 5))
@@ -147,7 +147,7 @@ def test_polar_box():
@@ -152,7 +152,7 @@ def test_polar_box():
@image_comparison(baseline_images=['axis_direction'],
@@ -632,10 +541,10 @@ index 32e1c884d..2b38866c5 100644
fig = plt.figure(figsize=(5, 5))
diff --git a/lib/mpl_toolkits/tests/test_mplot3d.py b/lib/mpl_toolkits/tests/test_mplot3d.py
index bc9c43ec7..48727de52 100644
index d6e57b9b4..c3ac37a7f 100644
--- a/lib/mpl_toolkits/tests/test_mplot3d.py
+++ b/lib/mpl_toolkits/tests/test_mplot3d.py
@@ -254,7 +254,7 @@ def test_text3d():
@@ -226,7 +226,7 @@ def test_text3d():
ax.set_zlabel('Z axis')
@@ -644,7 +553,7 @@ index bc9c43ec7..48727de52 100644
def test_trisurf3d():
n_angles = 36
n_radii = 8
@@ -733,7 +733,7 @@ class TestVoxels(object):
@@ -705,7 +705,7 @@ class TestVoxels(object):
@image_comparison(
baseline_images=['voxels-xyz'],
extensions=['png'],

View File

@@ -1,53 +1,53 @@
From 179885bd9a442bc171e562a8997abde2824997fa Mon Sep 17 00:00:00 2001
From 8f2ae0000d8f593fc82243b056ecf57c81059a42 Mon Sep 17 00:00:00 2001
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
Date: Sat, 31 Mar 2018 00:33:37 -0400
Subject: [PATCH 3/3] Increase some tolerances for non-x86 arches.
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
---
lib/matplotlib/tests/test_arrow_patches.py | 4 ++--
lib/matplotlib/tests/test_axes.py | 6 +++---
lib/matplotlib/tests/test_backends_interactive.py | 2 +-
lib/matplotlib/tests/test_collections.py | 2 +-
lib/matplotlib/tests/test_constrainedlayout.py | 2 +-
lib/matplotlib/tests/test_cycles.py | 6 +++---
lib/matplotlib/tests/test_figure.py | 2 +-
lib/matplotlib/tests/test_image.py | 2 +-
lib/matplotlib/tests/test_legend.py | 6 +++---
lib/matplotlib/tests/test_pickle.py | 2 +-
lib/matplotlib/tests/test_scale.py | 2 +-
lib/matplotlib/tests/test_streamplot.py | 2 +-
lib/matplotlib/tests/test_units.py | 4 ++--
.../tests/test_axisartist_grid_helper_curvelinear.py | 4 ++--
14 files changed, 23 insertions(+), 23 deletions(-)
lib/matplotlib/tests/test_arrow_patches.py | 4 ++--
lib/matplotlib/tests/test_axes.py | 7 ++++---
lib/matplotlib/tests/test_backends_interactive.py | 2 +-
lib/matplotlib/tests/test_collections.py | 2 +-
lib/matplotlib/tests/test_constrainedlayout.py | 2 +-
lib/matplotlib/tests/test_cycles.py | 6 +++---
lib/matplotlib/tests/test_figure.py | 2 +-
lib/matplotlib/tests/test_image.py | 2 +-
lib/matplotlib/tests/test_legend.py | 6 +++---
lib/matplotlib/tests/test_pickle.py | 2 +-
lib/matplotlib/tests/test_scale.py | 2 +-
lib/matplotlib/tests/test_streamplot.py | 2 +-
lib/matplotlib/tests/test_units.py | 4 ++--
.../tests/test_axisartist_grid_helper_curvelinear.py | 2 +-
14 files changed, 23 insertions(+), 22 deletions(-)
diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py
index f678fbed3..bac0cb802 100644
index 44f87c5fe..fb50ae710 100644
--- a/lib/matplotlib/tests/test_arrow_patches.py
+++ b/lib/matplotlib/tests/test_arrow_patches.py
@@ -69,7 +69,7 @@ def __prepare_fancyarrow_dpi_cor_test():
@@ -68,7 +68,7 @@ def __prepare_fancyarrow_dpi_cor_test():
@image_comparison(baseline_images=['fancyarrow_dpi_cor_100dpi'],
remove_text=True, extensions=['png'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.016,
- remove_text=True, extensions=['png'],
+ remove_text=True, extensions=['png'], tol=0.016,
savefig_kwarg=dict(dpi=100))
def test_fancyarrow_dpi_cor_100dpi():
"""
@@ -85,7 +85,7 @@ def test_fancyarrow_dpi_cor_100dpi():
@@ -83,7 +83,7 @@ def test_fancyarrow_dpi_cor_100dpi():
@image_comparison(baseline_images=['fancyarrow_dpi_cor_200dpi'],
remove_text=True, extensions=['png'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.019,
- remove_text=True, extensions=['png'],
+ remove_text=True, extensions=['png'], tol=0.019,
savefig_kwarg=dict(dpi=200))
def test_fancyarrow_dpi_cor_200dpi():
"""
diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
index c0e0e560d..0021bbda4 100644
index dde856669..de1632fc4 100644
--- a/lib/matplotlib/tests/test_axes.py
+++ b/lib/matplotlib/tests/test_axes.py
@@ -387,7 +387,7 @@ def test_annotate_default_arrow():
@@ -389,7 +389,7 @@ def test_annotate_default_arrow():
assert ann.arrow_patch is not None
@@ -56,55 +56,53 @@ index c0e0e560d..0021bbda4 100644
def test_polar_annotations():
# you can specify the xypoint and the xytext in different
# positions and coordinate systems, and optionally turn on a
@@ -3370,7 +3370,7 @@ def test_vertex_markers():
@@ -3264,7 +3264,8 @@ def test_vertex_markers():
@image_comparison(baseline_images=['vline_hline_zorder',
'errorbar_zorder'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
- 'errorbar_zorder'])
+ 'errorbar_zorder'],
+ tol=0.02)
def test_eb_line_zorder():
x = list(range(10))
x = list(xrange(10))
@@ -4997,7 +4998,7 @@ def test_title_location_roundtrip():
@@ -5142,7 +5142,7 @@ def test_title_location_roundtrip():
@image_comparison(baseline_images=["loglog"], remove_text=True,
extensions=['png'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+ tol=0.009)
- extensions=['png'])
+ extensions=['png'], tol=0.009)
def test_loglog():
fig, ax = plt.subplots()
x = np.arange(1, 11)
diff --git a/lib/matplotlib/tests/test_backends_interactive.py b/lib/matplotlib/tests/test_backends_interactive.py
index 00cbf5db9..33e6fb21a 100644
index 8cd4585bf..29b2c4b46 100644
--- a/lib/matplotlib/tests/test_backends_interactive.py
+++ b/lib/matplotlib/tests/test_backends_interactive.py
@@ -105,7 +105,7 @@ fig.canvas.mpl_connect("draw_event", lambda event: timer.start())
plt.show()
"""
-_test_timeout = 10 # Empirically, 1s is not enough on Travis.
+_test_timeout = 30 # Empirically, 1s is not enough on Travis.
@pytest.mark.parametrize("backend", _get_testable_interactive_backends())
@@ -57,4 +57,4 @@ def test_backend(backend):
environ["MPLBACKEND"] = backend
proc = Popen([sys.executable, "-c", _test_script], env=environ)
# Empirically, 1s is not enough on Travis.
- assert proc.wait(timeout=10) == 0
+ assert proc.wait(timeout=30) == 0
diff --git a/lib/matplotlib/tests/test_collections.py b/lib/matplotlib/tests/test_collections.py
index 6812ee1ad..582aabb5c 100644
index 291647d17..6b623ef52 100644
--- a/lib/matplotlib/tests/test_collections.py
+++ b/lib/matplotlib/tests/test_collections.py
@@ -442,7 +442,7 @@ def test_barb_limits():
@@ -443,7 +443,7 @@ def test_barb_limits():
@image_comparison(baseline_images=['EllipseCollection_test_image'],
extensions=['png'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.012,
- extensions=['png'],
+ extensions=['png'], tol=0.012,
remove_text=True)
def test_EllipseCollection():
# Test basic functionality
diff --git a/lib/matplotlib/tests/test_constrainedlayout.py b/lib/matplotlib/tests/test_constrainedlayout.py
index de8161ea7..2af2d6a42 100644
index fcf633a08..725365d2e 100644
--- a/lib/matplotlib/tests/test_constrainedlayout.py
+++ b/lib/matplotlib/tests/test_constrainedlayout.py
@@ -173,7 +173,7 @@ def test_constrained_layout9():
@@ -222,7 +222,7 @@ def test_constrained_layout9():
@image_comparison(baseline_images=['constrained_layout10'],
@@ -114,176 +112,167 @@ index de8161ea7..2af2d6a42 100644
'Test for handling legend outside axis'
fig, axs = plt.subplots(2, 2, constrained_layout=True)
diff --git a/lib/matplotlib/tests/test_cycles.py b/lib/matplotlib/tests/test_cycles.py
index 8184d3eee..73b0f216d 100644
index dfa0f7c79..ac605c8ab 100644
--- a/lib/matplotlib/tests/test_cycles.py
+++ b/lib/matplotlib/tests/test_cycles.py
@@ -10,7 +10,7 @@ from cycler import cycler
@image_comparison(baseline_images=['color_cycle_basic'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.008,
extensions=['png'])
- extensions=['png'])
+ extensions=['png'], tol=0.008)
def test_colorcycle_basic():
fig, ax = plt.subplots()
@@ -28,7 +28,7 @@ def test_colorcycle_basic():
ax.set_prop_cycle(cycler('color', ['r', 'g', 'y']))
@@ -27,7 +27,7 @@ def test_colorcycle_basic():
@image_comparison(baseline_images=['marker_cycle', 'marker_cycle'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.008,
remove_text=True, extensions=['png'])
- remove_text=True, extensions=['png'])
+ remove_text=True, extensions=['png'], tol=0.008)
def test_marker_cycle():
fig, ax = plt.subplots()
@@ -62,7 +62,7 @@ def test_marker_cycle():
ax.set_prop_cycle(cycler('c', ['r', 'g', 'y']) +
@@ -60,7 +60,7 @@ def test_marker_cycle():
@image_comparison(baseline_images=['lineprop_cycle_basic'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.009,
extensions=['png'])
- extensions=['png'])
+ extensions=['png'], tol=0.009)
def test_linestylecycle_basic():
fig, ax = plt.subplots()
ax.set_prop_cycle(cycler('ls', ['-', '--', ':']))
diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py
index 4c688eb05..63f562770 100644
index 69752e17d..e7c57d470 100644
--- a/lib/matplotlib/tests/test_figure.py
+++ b/lib/matplotlib/tests/test_figure.py
@@ -14,7 +14,7 @@ import pytest
@@ -14,7 +14,7 @@ import numpy as np
import pytest
@image_comparison(baseline_images=['figure_align_labels'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+ tol=0.01)
-@image_comparison(baseline_images=['figure_align_labels'])
+@image_comparison(baseline_images=['figure_align_labels'], tol=0.01)
def test_align_labels():
# Check the figure.align_labels() command
fig = plt.figure(tight_layout=True)
diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py
index c0ffc061a..ca15df113 100644
index c8a23347f..afb36587c 100644
--- a/lib/matplotlib/tests/test_image.py
+++ b/lib/matplotlib/tests/test_image.py
@@ -766,7 +766,7 @@ def test_imshow_endianess():
@@ -761,7 +761,7 @@ def test_imshow_endianess():
@image_comparison(baseline_images=['imshow_masked_interpolation'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.006,
remove_text=True, style='mpl20')
- remove_text=True, style='mpl20')
+ remove_text=True, style='mpl20', tol=0.006)
def test_imshow_masked_interpolation():
cm = copy(plt.get_cmap('viridis'))
diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py
index d508d6f41..9147ef336 100644
index 55b8adc77..1784ff966 100644
--- a/lib/matplotlib/tests/test_legend.py
+++ b/lib/matplotlib/tests/test_legend.py
@@ -108,7 +108,7 @@ def test_multiple_keys():
@@ -145,7 +145,7 @@ def test_multiple_keys():
@image_comparison(baseline_images=['rgba_alpha'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.007,
extensions=['png'], remove_text=True)
- extensions=['png'], remove_text=True)
+ extensions=['png'], remove_text=True, tol=0.007)
def test_alpha_rgba():
import matplotlib.pyplot as plt
@@ -120,7 +120,7 @@ def test_alpha_rgba():
@@ -156,7 +156,7 @@ def test_alpha_rgba():
@image_comparison(baseline_images=['rcparam_alpha'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.007,
extensions=['png'], remove_text=True)
- extensions=['png'], remove_text=True)
+ extensions=['png'], remove_text=True, tol=0.007)
def test_alpha_rcparam():
import matplotlib.pyplot as plt
@@ -149,7 +149,7 @@ def test_fancy():
@@ -183,7 +183,7 @@ def test_fancy():
ncol=2, shadow=True, title="My legend", numpoints=1)
@image_comparison(baseline_images=['framealpha'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+ tol=0.018)
-@image_comparison(baseline_images=['framealpha'], remove_text=True)
+@image_comparison(baseline_images=['framealpha'], remove_text=True, tol=0.018)
def test_framealpha():
x = np.linspace(1, 100, 100)
y = x
diff --git a/lib/matplotlib/tests/test_pickle.py b/lib/matplotlib/tests/test_pickle.py
index 9cb806c6f..91774abfd 100644
index 89a5a512e..99051dee7 100644
--- a/lib/matplotlib/tests/test_pickle.py
+++ b/lib/matplotlib/tests/test_pickle.py
@@ -44,7 +44,7 @@ def test_simple():
@@ -42,7 +42,7 @@ def test_simple():
@image_comparison(baseline_images=['multi_pickle'],
extensions=['png'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.004,
style='mpl20')
- style='mpl20')
+ style='mpl20', tol=0.004)
def test_complete():
fig = plt.figure('Figure with a label?', figsize=(10, 6))
diff --git a/lib/matplotlib/tests/test_scale.py b/lib/matplotlib/tests/test_scale.py
index ebe5c4de9..2999b624d 100644
index dd5b18182..ebebb0525 100644
--- a/lib/matplotlib/tests/test_scale.py
+++ b/lib/matplotlib/tests/test_scale.py
@@ -99,7 +99,7 @@ def test_logscale_transform_repr():
@@ -96,7 +96,7 @@ def test_logscale_transform_repr():
@image_comparison(baseline_images=['logscale_nonpos_values'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.008,
extensions=['png'], style='mpl20')
- extensions=['png'], style='mpl20')
+ extensions=['png'], style='mpl20', tol=0.008)
def test_logscale_nonpos_values():
np.random.seed(19680801)
xs = np.random.normal(size=int(1e3))
diff --git a/lib/matplotlib/tests/test_streamplot.py b/lib/matplotlib/tests/test_streamplot.py
index e261513df..c8c8faf99 100644
index 4f70ce861..4e52ed0c4 100644
--- a/lib/matplotlib/tests/test_streamplot.py
+++ b/lib/matplotlib/tests/test_streamplot.py
@@ -49,7 +49,7 @@ def test_colormap():
@@ -48,7 +48,7 @@ def test_colormap():
plt.colorbar()
@image_comparison(baseline_images=['streamplot_linewidth'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.002,
remove_text=True, style='mpl20')
-@image_comparison(baseline_images=['streamplot_linewidth'])
+@image_comparison(baseline_images=['streamplot_linewidth'], tol=0.002)
def test_linewidth():
X, Y, U, V = velocity_field()
speed = np.sqrt(U*U + V*V)
diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py
index fec498af3..12a8d8a3e 100644
index 65c8da7ea..c69d1d531 100644
--- a/lib/matplotlib/tests/test_units.py
+++ b/lib/matplotlib/tests/test_units.py
@@ -75,7 +75,7 @@ def quantity_converter():
@@ -43,7 +43,7 @@ class Quantity(object):
# Tests that the conversion machinery works properly for classes that
# work as a facade over numpy arrays (like pint)
@image_comparison(baseline_images=['plot_pint'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.003,
-@image_comparison(baseline_images=['plot_pint'],
+@image_comparison(baseline_images=['plot_pint'], tol=0.003,
extensions=['png'], remove_text=False, style='mpl20')
def test_numpy_facade(quantity_converter):
# Register the class
@@ -100,7 +100,7 @@ def test_numpy_facade(quantity_converter):
def test_numpy_facade():
# Create an instance of the conversion interface and
@@ -87,7 +87,7 @@ def test_numpy_facade():
# Tests gh-8908
@image_comparison(baseline_images=['plot_masked_units'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.007,
-@image_comparison(baseline_images=['plot_masked_units'],
+@image_comparison(baseline_images=['plot_masked_units'], tol=0.007,
extensions=['png'], remove_text=True, style='mpl20')
def test_plot_masked_units():
data = np.linspace(-5, 5)
diff --git a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py
index 32e1c884d..741d197b5 100644
index a7c637428..8fc5b25b1 100644
--- a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py
+++ b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py
@@ -17,7 +17,7 @@ from mpl_toolkits.axisartist.grid_helper_curvelinear import \
@image_comparison(baseline_images=['custom_transform'],
- extensions=['png'], style='default', tol=0.03)
+ extensions=['png'], style='default', tol=0.04)
def test_custom_transform():
class MyTransform(Transform):
input_dims = 2
@@ -85,7 +85,7 @@ def test_custom_transform():
@@ -91,7 +91,7 @@ def test_custom_transform():
@image_comparison(baseline_images=['polar_box'],
- tol={'aarch64': 0.04}.get(platform.machine(), 0.03),
+ tol=0.04,
extensions=['png'], style='default')
- extensions=['png'], style='default', tol=0.03)
+ extensions=['png'], style='default', tol=0.04)
def test_polar_box():
fig = plt.figure(figsize=(5, 5))
--
2.20.1

View File

@@ -1,170 +0,0 @@
From eab11b3cac68f863ccab8067e3d8035aaf57cfe5 Mon Sep 17 00:00:00 2001
From: Antony Lee <anntzer.lee@gmail.com>
Date: Tue, 18 Sep 2018 18:46:50 +0200
Subject: [PATCH 4/4] Avoid triggering deprecation warnings with pytest 3.8.
The new API was introduced in pytest3.6 so bump the test dependency
accordingly.
---
doc/devel/contributing.rst | 6 +++---
doc/devel/testing.rst | 4 ++--
lib/matplotlib/testing/conftest.py | 10 +++++-----
lib/matplotlib/testing/decorators.py | 8 ++++++--
requirements/testing/travis35.txt | 2 +-
requirements/testing/travis_all.txt | 4 +---
setupext.py | 2 +-
7 files changed, 19 insertions(+), 17 deletions(-)
diff --git a/doc/devel/contributing.rst b/doc/devel/contributing.rst
index b40a46a6f..463e8c947 100644
--- a/doc/devel/contributing.rst
+++ b/doc/devel/contributing.rst
@@ -109,7 +109,7 @@ value.
Installing Matplotlib in developer mode
---------------------------------------
-To install Matplotlib (and compile the c-extensions) run the following
+To install Matplotlib (and compile the C-extensions) run the following
command from the top-level directory ::
python -mpip install -ve .
@@ -147,11 +147,11 @@ environment is set up properly::
.. _pytest: http://doc.pytest.org/en/latest/
.. _pep8: https://pep8.readthedocs.io/en/latest/
.. _Ghostscript: https://www.ghostscript.com/
-.. _Inkscape: https://inkscape.org>
+.. _Inkscape: https://inkscape.org/
.. note::
- **Additional dependencies for testing**: pytest_ (version 3.4 or later),
+ **Additional dependencies for testing**: pytest_ (version 3.6 or later),
Ghostscript_, Inkscape_
.. seealso::
diff --git a/doc/devel/testing.rst b/doc/devel/testing.rst
index c3a5eb8f9..6e8c60fc6 100644
--- a/doc/devel/testing.rst
+++ b/doc/devel/testing.rst
@@ -21,11 +21,11 @@ Requirements
Install the latest version of Matplotlib as documented in
:ref:`installing_for_devs` In particular, follow the instructions to use a
-local FreeType build
+local FreeType build.
The following software is required to run the tests:
-- pytest_ (>=3.4)
+- pytest_ (>=3.6)
- Ghostscript_ (>= 9.0, to render PDF files)
- Inkscape_ (to render SVG files)
diff --git a/lib/matplotlib/testing/conftest.py b/lib/matplotlib/testing/conftest.py
index 96528c8de..8cb90e083 100644
--- a/lib/matplotlib/testing/conftest.py
+++ b/lib/matplotlib/testing/conftest.py
@@ -24,19 +24,19 @@ def mpl_test_settings(request):
with _cleanup_cm():
backend = None
- backend_marker = request.keywords.get('backend')
+ backend_marker = request.node.get_closest_marker('backend')
if backend_marker is not None:
assert len(backend_marker.args) == 1, \
"Marker 'backend' must specify 1 backend."
- backend = backend_marker.args[0]
+ backend, = backend_marker.args
prev_backend = matplotlib.get_backend()
style = '_classic_test' # Default of cleanup and image_comparison too.
- style_marker = request.keywords.get('style')
+ style_marker = request.node.get_closest_marker('style')
if style_marker is not None:
assert len(style_marker.args) == 1, \
"Marker 'style' must specify 1 style."
- style = style_marker.args[0]
+ style, = style_marker.args
matplotlib.testing.setup()
if backend is not None:
@@ -73,7 +73,7 @@ def mpl_image_comparison_parameters(request, extension):
# pytest won't get confused.
# We annotate the decorated function with any parameters captured by this
# fixture so that they can be used by the wrapper in image_comparison.
- baseline_images = request.keywords['baseline_images'].args[0]
+ baseline_images, = request.node.get_closest_marker('baseline_images').args
if baseline_images is None:
# Allow baseline image list to be produced on the fly based on current
# parametrization.
diff --git a/lib/matplotlib/testing/decorators.py b/lib/matplotlib/testing/decorators.py
index f3fc47c68..c1bb1fdc2 100644
--- a/lib/matplotlib/testing/decorators.py
+++ b/lib/matplotlib/testing/decorators.py
@@ -215,8 +215,12 @@ class _ImageComparisonBase(object):
if self.remove_text:
remove_ticks_and_titles(fig)
+ ext = extension.args[0] if hasattr(extension, 'args') else extension
+ # XXX this is needed twice for test_mixedsubplots[extension2]
+ ext = ext.args[0] if hasattr(ext, 'args') else ext
+
actual_fname = (
- os.path.join(self.result_dir, baseline) + '.' + extension)
+ os.path.join(self.result_dir, baseline) + '.' + ext)
kwargs = self.savefig_kwargs.copy()
if extension == 'pdf':
kwargs.setdefault('metadata',
@@ -224,7 +228,7 @@ class _ImageComparisonBase(object):
'CreationDate': None})
fig.savefig(actual_fname, **kwargs)
- expected_fname = self.copy_baseline(baseline, extension)
+ expected_fname = self.copy_baseline(baseline, ext)
_raise_on_image_difference(expected_fname, actual_fname, self.tol)
diff --git a/requirements/testing/travis35.txt b/requirements/testing/travis35.txt
index fc3c3428b..f137d3bbb 100644
--- a/requirements/testing/travis35.txt
+++ b/requirements/testing/travis35.txt
@@ -5,7 +5,7 @@ python-dateutil==2.1
numpy==1.10.0
pandas<0.21.0
pyparsing==2.0.1
-pytest==3.4
+pytest==3.6
pytest-cov==2.3.1
pytest-timeout==1.2.1 # Newer pytest-timeouts don't support pytest 3.4.
pytest-rerunfailures<5 # newer versions require pytest3.6
diff --git a/requirements/testing/travis_all.txt b/requirements/testing/travis_all.txt
index dcffd281e..3f5811b1b 100644
--- a/requirements/testing/travis_all.txt
+++ b/requirements/testing/travis_all.txt
@@ -6,9 +6,7 @@ cycler
numpy
pillow
pyparsing
-# pytest-timeout master depends on pytest>=3.6. Testing with pytest 3.4 is
-# still supported; this is tested by the first travis python 3.5 build
-pytest>=3.6,<4
+pytest
pytest-cov
pytest-faulthandler
pytest-rerunfailures
diff --git a/setupext.py b/setupext.py
index fc82d5d15..186217648 100644
--- a/setupext.py
+++ b/setupext.py
@@ -821,7 +821,7 @@ class Toolkits(OptionalPackage):
class Tests(OptionalPackage):
name = "tests"
- pytest_min_version = '3.4'
+ pytest_min_version = '3.6'
default_config = False
def check(self):
--
2.21.0

View File

@@ -1,13 +1,5 @@
%global with_html 0
# No qt4 for EL8
%if 0%{rhel} >= 8
%bcond_with qt4
%else
%bcond_without qt4
%endif
%bcond_without wx
# It seems like there's some kind of weird occasional error where a
# build (often aarch64 or ppc64) will fail in one of the Stix font
# tests with a huge RMS difference, but if you run the same build again,
@@ -16,8 +8,8 @@
# happen.
%global run_tests 1
# the default backend; one of GTK3Agg GTK3Cairo MacOSX Qt4Agg Qt5Agg TkAgg
# WXAgg Agg Cairo PS PDF SVG
# the default backend; one of GTK GTKAgg GTKCairo GTK3Agg GTK3Cairo
# CocoaAgg MacOSX Qt4Agg Qt5Agg TkAgg WX WXAgg Agg Cairo GDK PS PDF SVG
%global backend TkAgg
%if "%{backend}" == "TkAgg"
@@ -28,10 +20,6 @@
% else
% if "%{backend}" == "Qt5Agg"
%global backend_subpackage qt5
% else
% if "%{backend}" == "WXAgg"
%global backend_subpackage wx
% endif
% endif
% endif
%endif
@@ -45,14 +33,18 @@
#global rctag rc1
# Updated test images for new FreeType.
%global mpl_images_version 3.0.1
%global mpl_images_version 2.2.3
# The version of FreeType in this Fedora branch.
%if %{fedora} >= 29
%global ftver 2.9.1
%else
%global ftver 2.8
%endif
Name: python-matplotlib
Version: 3.0.3
Release: 4%{?rctag:.%{rctag}}%{?dist}
Version: 2.2.4
Release: 1%{?rctag:.%{rctag}}%{?dist}
Summary: Python 2D plotting library
# qt4_editor backend is MIT
License: Python and MIT
@@ -68,8 +60,8 @@ Patch0001: 0001-Force-using-system-qhull.patch
Patch0002: 0001-Use-packaged-jquery-and-jquery-ui.patch
# Fedora-specific patches; see:
# https://github.com/fedora-python/matplotlib/tree/fedora-patches
# https://github.com/fedora-python/matplotlib/tree/fedora-patches-non-x86
# https://github.com/QuLogic/matplotlib/tree/fedora-patches
# https://github.com/QuLogic/matplotlib/tree/fedora-patches-non-x86
# Updated test images for new FreeType.
Source1000: https://github.com/QuLogic/mpl-images/archive/v%{mpl_images_version}-with-freetype-%{ftver}/matplotlib-%{mpl_images_version}-with-freetype-%{ftver}.tar.gz
# Search in /etc/matplotlibrc:
@@ -80,11 +72,7 @@ Patch1002: 0002-Increase-tolerances-for-non-x86_64-arches.patch
Patch1003: 0003-Increase-some-tolerances-for-32-bit-systems.patch
# Image tolerances for 64-bit (but not x86_64) systems: aarch64 ppc64(le) s390x
Patch1004: 0003-Increase-some-tolerances-for-non-x86-arches.patch
# Support pytest 4 (from a3b9ef7c7c8750ff65d9341fb20811b2c4c99a73)
Patch1005: 0004-Avoid-triggering-deprecation-warnings-with-pytest-3..patch
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: freetype-devel
BuildRequires: libpng-devel
BuildRequires: qhull-devel
@@ -103,30 +91,185 @@ Matplotlib tries to make easy things easy and hard things possible.
You can generate plots, histograms, power spectra, bar charts,
errorcharts, scatterplots, etc, with just a few lines of code.
%package -n python3-matplotlib-data
%package -n python2-matplotlib
Summary: Python 2D plotting library
BuildRequires: python2-numpy
BuildRequires: python2-pyparsing
BuildRequires: python2-dateutil
BuildRequires: python2-kiwisolver
BuildRequires: python2-pyside
BuildRequires: python2-setuptools
BuildRequires: python2-six
BuildRequires: python2-sphinx
BuildRequires: python2-subprocess32
BuildRequires: python2-devel
BuildRequires: python2-backports-functools_lru_cache
BuildRequires: python2-pillow
BuildRequires: python2-pytz
%if %{with_html}
BuildRequires: %{_bindir}/pdftops
# circular dependency: python2-basemap requires matplotlib
BuildRequires: python2-basemap
BuildRequires: python2-ipython-sphinx
BuildRequires: python2-numpydoc
BuildRequires: python2-scikit-image
BuildRequires: python2-colorspacious
BuildRequires: python2-cycler >= 0.10.0
%endif
%if %{run_tests}
BuildRequires: python2-pytest
BuildRequires: python2-pytest-xdist
BuildRequires: python2-cycler >= 0.10.0
BuildRequires: python2-mock
%endif
Requires: dejavu-sans-fonts
Requires: dvipng
Requires: python2-numpy
Requires: python2-pyparsing
Requires: python2-cycler >= 0.10.0
Requires: python2-dateutil
Requires: python2-kiwisolver
Requires: python2-backports-functools_lru_cache
Requires: python-matplotlib-data = %{version}-%{release}
%{?backend_subpackage:Requires: python2-matplotlib-%{backend_subpackage}%{?_isa} = %{version}-%{release}}
Recommends: python2-pillow
Requires: python2-six
Requires: python2-subprocess32
Requires: python2-pytz
%if !%{with_bundled_fonts}
Requires: stix-math-fonts
%else
Provides: bundled(stix-math-fonts)
%endif
%{?python_provide:%python_provide python2-matplotlib}
Provides: bundled(agg) = 2.4
Provides: bundled(ttconv)
Provides: bundled(js-jquery1) = 1.11.3
Provides: bundled(js-jquery1-ui) = 1.11.4
Provides: bundled(texlive-helvetic)
%description -n python2-matplotlib
Matplotlib is a python 2D plotting library which produces publication
quality figures in a variety of hardcopy formats and interactive
environments across platforms. matplotlib can be used in python
scripts, the python and ipython shell, web application servers, and
six graphical user interface toolkits.
Matplotlib tries to make easy things easy and hard things possible.
You can generate plots, histograms, power spectra, bar charts,
errorcharts, scatterplots, etc, with just a few lines of code.
%package -n python2-matplotlib-qt4
Summary: Qt4 backend for python-matplotlib
BuildRequires: PyQt4-devel
Requires: python2-PyQt4
Requires: python2-matplotlib%{?_isa} = %{version}-%{release}
Requires: python2-matplotlib-qt5
%{?python_provide:%python_provide python2-matplotlib-qt4}
%description -n python2-matplotlib-qt4
%{summary}
%package -n python2-matplotlib-qt5
Summary: Qt5 backend for python-matplotlib
BuildRequires: python2-qt5
Requires: python2-qt5
Requires: python2-matplotlib%{?_isa} = %{version}-%{release}
%{?python_provide:%python_provide python2-matplotlib-qt5}
%description -n python2-matplotlib-qt5
%{summary}
%package -n python2-matplotlib-gtk
Summary: GTK backend for python-matplotlib
BuildRequires: gtk2-devel
BuildRequires: pycairo-devel
BuildRequires: pygtk2-devel
Requires: pycairo
Requires: pygtk2
Requires: python2-matplotlib%{?_isa} = %{version}-%{release}
%{?python_provide:%python_provide python2-matplotlib-gtk}
%description -n python2-matplotlib-gtk
%{summary}
%package -n python2-matplotlib-gtk3
Summary: GTK3 backend for python-matplotlib
# This should be converted to typelib(Gtk) when supported
BuildRequires: gtk3
BuildRequires: pygobject3-base
Requires: gtk3%{?_isa}
Requires: pygobject3-base%{?_isa}
Requires: python2-matplotlib%{?_isa} = %{version}-%{release}
%{?python_provide:%python_provide python2-matplotlib-gtk3}
%description -n python2-matplotlib-gtk3
%{summary}
%package -n python2-matplotlib-tk
Summary: Tk backend for python-matplotlib
BuildRequires: tcl-devel
BuildRequires: tkinter
BuildRequires: tk-devel
Requires: python2-matplotlib%{?_isa} = %{version}-%{release}
Requires: tkinter
%{?python_provide:%python_provide python2-matplotlib-tk}
%description -n python2-matplotlib-tk
%{summary}
%package -n python2-matplotlib-wx
Summary: wxPython backend for python-matplotlib
BuildRequires: wxPython-devel
Requires: python2-matplotlib%{?_isa} = %{version}-%{release}
Requires: python2-wxpython
%{?python_provide:%python_provide python2-matplotlib-wx}
%description -n python2-matplotlib-wx
%{summary}
%package -n python2-matplotlib-test-data
Summary: Test data for python2-matplotlib
Requires: python2-matplotlib%{?_isa} = %{version}-%{release}
%{?python_provide:%python_provide python2-matplotlib-test-data}
%description -n python2-matplotlib-test-data
%{summary}
%package -n python2-matplotlib-doc
Summary: Documentation files for python-matplotlib
%if %{with_html}
BuildRequires: dvipng
BuildRequires: graphviz
BuildRequires: python2-sphinx
BuildRequires: tex(latex)
BuildRequires: tex-preview
%endif
Requires: python2-matplotlib%{?_isa} = %{version}-%{release}
%{?python_provide:%python_provide python2-matplotlib-doc}
%description -n python2-matplotlib-doc
%{summary}
%package -n python-matplotlib-data
Summary: Data used by python-matplotlib
BuildArch: noarch
%if %{with_bundled_fonts}
Requires: python3-matplotlib-data-fonts = %{version}-%{release}
Requires: python-matplotlib-data-fonts = %{version}-%{release}
%endif
Obsoletes: python-matplotlib-data < 3
%{?python_provide:%python_provide python3-matplotlib-data}
%{?python_provide:%python_provide python-matplotlib-data}
%description -n python3-matplotlib-data
%description -n python-matplotlib-data
%{summary}
%if %{with_bundled_fonts}
%package -n python3-matplotlib-data-fonts
%package -n python-matplotlib-data-fonts
Summary: Fonts used by python-matplotlib
# STIX and Computer Modern is OFL
# DejaVu is Bitstream Vera and Public Domain
License: OFL and Bitstream Vera and Public Domain
BuildArch: noarch
Requires: python3-matplotlib-data = %{version}-%{release}
Obsoletes: python-matplotlib-data-fonts < 3
%{?python_provide:%python_provide python3-matplotlib-data-fonts}
Requires: python-matplotlib-data = %{version}-%{release}
%{?python_provide:%python_provide python-matplotlib-data-fonts}
%description -n python3-matplotlib-data-fonts
%description -n python-matplotlib-data-fonts
%{summary}
%endif
@@ -143,10 +286,11 @@ BuildRequires: python3-numpy
BuildRequires: python3-pillow
BuildRequires: python3-pyparsing
BuildRequires: python3-pytz
BuildRequires: python3-six
BuildRequires: python3-sphinx
Requires: dejavu-sans-fonts
Requires: dvipng
Requires: python3-matplotlib-data = %{version}-%{release}
Requires: python-matplotlib-data = %{version}-%{release}
Requires: python3-cairo
Requires: python3-cycler >= 0.10.0
Requires: python3-dateutil
@@ -159,6 +303,8 @@ BuildRequires: python3-pytest-xdist
Requires: python3-numpy
Recommends: python3-pillow
Requires: python3-pyparsing
Requires: python3-pytz
Requires: python3-six
%if !%{with_bundled_fonts}
Requires: stix-math-fonts
%else
@@ -177,7 +323,6 @@ Matplotlib tries to make easy things easy and hard things possible.
You can generate plots, histograms, power spectra, bar charts,
errorcharts, scatterplots, etc, with just a few lines of code.
%if %{with qt4}
%package -n python3-matplotlib-qt4
Summary: Qt4 backend for python3-matplotlib
BuildRequires: python3-PyQt4-devel
@@ -188,7 +333,6 @@ Requires: python3-PyQt4
%description -n python3-matplotlib-qt4
%{summary}
%endif
%package -n python3-matplotlib-qt5
Summary: Qt5 backend for python3-matplotlib
@@ -200,6 +344,7 @@ Requires: python3-qt5
%description -n python3-matplotlib-qt5
%{summary}
# gtk2 never worked in Python 3 afaict, so no need for -gtk subpackage
%package -n python3-matplotlib-gtk3
Summary: GTK3 backend for python3-matplotlib
# This should be converted to typelib(Gtk) when supported
@@ -223,37 +368,6 @@ Requires: python3-tkinter
%description -n python3-matplotlib-tk
%{summary}
%if %{with wx}
%package -n python3-matplotlib-wx
Summary: WX backend for python3-matplotlib
BuildRequires: python3-wxpython4
Requires: python3-matplotlib%{?_isa} = %{version}-%{release}
Requires: python3-wxpython4
%{?python_provide:%python_provide python3-matplotlib-wx}
%description -n python3-matplotlib-wx
%{summary}
%endif
%package -n python3-matplotlib-doc
Summary: Documentation files for python-matplotlib
%if %{with_html}
BuildRequires: dvipng
BuildRequires: graphviz
BuildRequires: python3-sphinx
BuildRequires: tex(latex)
BuildRequires: tex-preview
BuildRequires: js-jquery >= 3.2.1
BuildRequires: xstatic-jquery-ui-common
Requires: js-jquery >= 3.2.1
Requires: xstatic-jquery-ui-common
%endif
Requires: python3-matplotlib%{?_isa} = %{version}-%{release}
%{?python_provide:%python_provide python3-matplotlib-doc}
%description -n python3-matplotlib-doc
%{summary}
%package -n python3-matplotlib-test-data
Summary: Test data for python3-matplotlib
Requires: python3-matplotlib%{?_isa} = %{version}-%{release}
@@ -284,13 +398,8 @@ gzip -dc %SOURCE1000 | tar xvf - --transform='s~^mpl-images-%{mpl_images_version
%endif
rm -r extern/libqhull
# Old pytest in EL8
%if ! ( 0%{?rhel} >= 8 )
%patch1005 -p1
%endif
# Copy setup.cfg to the builddir
cp -p %{SOURCE1} setup.cfg
sed 's/\(backend = \).*/\1%{backend}/' >setup.cfg <%{SOURCE1}
# Keep this until next version, and increment if changing from
# USE_FONTCONFIG to False or True so that cache is regenerated
@@ -307,40 +416,49 @@ sed -i 's/\(USE_FONTCONFIG = \)False/\1True/' lib/matplotlib/font_manager.py
%build
%set_build_flags
export http_proxy=http://127.0.0.1/
MPLCONFIGDIR=$PWD \
MATPLOTLIBDATA=$PWD/lib/matplotlib/mpl-data \
xvfb-run %{__python3} setup.py build
xvfb-run %{__python2} setup.py build
%if %{with_html}
# Need to make built matplotlib libs available for the sphinx extensions:
pushd doc
MPLCONFIGDIR=$PWD/.. \
MATPLOTLIBDATA=$PWD/../lib/matplotlib/mpl-data \
PYTHONPATH=`realpath ../build/lib.linux*` \
%{__python3} make.py html
%{__python2} make.py html
popd
%endif
# Ensure all example files are non-executable so that the -doc
# package doesn't drag in dependencies
find examples -name '*.py' -exec chmod a-x '{}' \;
MPLCONFIGDIR=$PWD \
MATPLOTLIBDATA=$PWD/lib/matplotlib/mpl-data \
xvfb-run %{__python3} setup.py build
# documentation cannot be built with python3 due to syntax errors
# https://github.com/matplotlib/matplotlib/issues/5805
%install
export http_proxy=http://127.0.0.1/
MPLCONFIGDIR=$PWD \
MATPLOTLIBDATA=$PWD/lib/matplotlib/mpl-data/ \
%{__python2} setup.py install -O1 --skip-build --root=%{buildroot}
chmod +x %{buildroot}%{python2_sitearch}/matplotlib/dates.py
mkdir -p %{buildroot}%{_sysconfdir} %{buildroot}%{_datadir}/matplotlib
mv %{buildroot}%{python2_sitearch}/matplotlib/mpl-data/matplotlibrc \
%{buildroot}%{_sysconfdir}
mv %{buildroot}%{python2_sitearch}/matplotlib/mpl-data \
%{buildroot}%{_datadir}/matplotlib
%if !%{with_bundled_fonts}
rm -rf %{buildroot}%{_datadir}/matplotlib/mpl-data/fonts
%endif
MPLCONFIGDIR=$PWD \
MATPLOTLIBDATA=$PWD/lib/matplotlib/mpl-data/ \
%{__python3} setup.py install -O1 --skip-build --root=%{buildroot}
chmod +x %{buildroot}%{python3_sitearch}/matplotlib/dates.py
mkdir -p %{buildroot}%{_sysconfdir} %{buildroot}%{_datadir}/matplotlib
mv %{buildroot}%{python3_sitearch}/matplotlib/mpl-data/matplotlibrc \
%{buildroot}%{_sysconfdir}
mv %{buildroot}%{python3_sitearch}/matplotlib/mpl-data \
%{buildroot}%{_datadir}/matplotlib
%if !%{with_bundled_fonts}
rm -rf %{buildroot}%{_datadir}/matplotlib/mpl-data/fonts
%endif
rm -fr %{buildroot}%{python3_sitearch}/matplotlib/mpl-data
%if %{run_tests}
%check
@@ -348,38 +466,52 @@ rm -rf %{buildroot}%{_datadir}/matplotlib/mpl-data/fonts
rm -rf build*/
export http_proxy=http://127.0.0.1/
# This should match the default backend
echo "backend : %{backend}" > matplotlibrc
# Full tests are not run because pytest doesn't seem to understand namespace
# packages in PYTHONPATH.
# Skips:
# * test_parasite: imports mpl_toolkits which is broken as noted above.
# * test_polycollection_close: imports mpl_toolkits which is broken as noted
# above.
# * test_invisible_Line_rendering: Checks for "slowness" that often fails on a
# heavily-loaded builder.
# * test_tinypages fails due to new Sphinx warning
# * test_determinism_all fails on s390x
%ifarch s390x
fail=0
%else
fail=1
%endif
MPLCONFIGDIR=$PWD \
MATPLOTLIBDATA=%{buildroot}%{_datadir}/matplotlib/mpl-data \
MATPLOTLIBRC=%{buildroot}%{_sysconfdir}/matplotlibrc \
PYTHONPATH=%{buildroot}%{python3_sitearch} \
PYTHONPATH=%{buildroot}%{python2_sitearch} \
PYTHONDONTWRITEBYTECODE=1 \
xvfb-run -a -s "-screen 0 640x480x24" \
%{__python3} tests.py -ra -n $(getconf _NPROCESSORS_ONLN) \
%{__python2} -m pytest --pyargs matplotlib -ra -n $(getconf _NPROCESSORS_ONLN) \
-m 'not network' \
-k 'not test_invisible_Line_rendering and not backend_qt5 and not test_tinypages' || exit $fail
# Run Qt5Agg tests separately to not conflict with Qt4 tests.
MPLCONFIGDIR=$PWD \
MATPLOTLIBDATA=%{buildroot}%{_datadir}/matplotlib/mpl-data \
MATPLOTLIBRC=%{buildroot}%{_sysconfdir}/matplotlibrc \
PYTHONPATH=%{buildroot}%{python3_sitearch} \
PYTHONDONTWRITEBYTECODE=1 \
xvfb-run -a -s "-screen 0 640x480x24" \
%{__python3} tests.py -ra -n $(getconf _NPROCESSORS_ONLN) \
-m 'not network' \
matplotlib.tests.test_backend_qt5 || exit $fail
%endif
-k 'not test_invisible_Line_rendering and not test_parasite and not test_polycollection_close and not test_nose_image_comparison'
%files -n python3-matplotlib-data
MPLCONFIGDIR=$PWD \
MATPLOTLIBDATA=%{buildroot}%{_datadir}/matplotlib/mpl-data \
PYTHONPATH=%{buildroot}%{python3_sitearch} \
PYTHONDONTWRITEBYTECODE=1 \
xvfb-run -a -s "-screen 0 640x480x24" \
%{__python3} tests.py -ra -n $(getconf _NPROCESSORS_ONLN) \
-m 'not network' \
-k 'not test_invisible_Line_rendering and not test_nose_image_comparison'
# We run these separately because they have issues when run in parallel.
MPLCONFIGDIR=$PWD \
MATPLOTLIBDATA=%{buildroot}%{_datadir}/matplotlib/mpl-data \
PYTHONPATH=%{buildroot}%{python2_sitearch} \
PYTHONDONTWRITEBYTECODE=1 \
xvfb-run -a -s "-screen 0 640x480x24" \
%{__python2} -m pytest --pyargs matplotlib -ra \
-k 'test_nose_image_comparison'
MPLCONFIGDIR=$PWD \
MATPLOTLIBDATA=%{buildroot}%{_datadir}/matplotlib/mpl-data \
PYTHONPATH=%{buildroot}%{python3_sitearch} \
PYTHONDONTWRITEBYTECODE=1 \
xvfb-run -a -s "-screen 0 640x480x24" \
%{__python3} tests.py -ra \
-k 'test_nose_image_comparison'
%endif # run_tests
%files -n python-matplotlib-data
%{_sysconfdir}/matplotlibrc
%{_datadir}/matplotlib/mpl-data/
%if %{with_bundled_fonts}
@@ -387,11 +519,63 @@ PYTHONDONTWRITEBYTECODE=1 \
%endif
%if %{with_bundled_fonts}
%files -n python3-matplotlib-data-fonts
%files -n python-matplotlib-data-fonts
%{_datadir}/matplotlib/mpl-data/fonts/
%endif
%files -n python3-matplotlib-doc
%files -n python2-matplotlib
%license LICENSE/
%doc README.rst
%{python2_sitearch}/*egg-info
%{python2_sitearch}/matplotlib-*-nspkg.pth
%{python2_sitearch}/matplotlib/
%exclude %{python2_sitearch}/matplotlib/tests/baseline_images/*
%{python2_sitearch}/mpl_toolkits/
%exclude %{python2_sitearch}/mpl_toolkits/tests/baseline_images/*
%{python2_sitearch}/pylab.py*
%exclude %{python2_sitearch}/matplotlib/backends/backend_qt4*
%exclude %{python2_sitearch}/matplotlib/backends/backend_qt5*
%exclude %{python2_sitearch}/matplotlib/backends/backend_gtk*
%exclude %{python2_sitearch}/matplotlib/backends/_gtkagg.*
%exclude %{python2_sitearch}/matplotlib/backends/backend_tkagg.*
%exclude %{python2_sitearch}/matplotlib/backends/tkagg.*
%exclude %{python2_sitearch}/matplotlib/backends/_tkagg.so
%exclude %{python2_sitearch}/matplotlib/backends/backend_wx.*
%exclude %{python2_sitearch}/matplotlib/backends/backend_wxagg.*
%exclude %{_pkgdocdir}/*
%exclude %{_pkgdocdir}/*/*
%files -n python2-matplotlib-test-data
%{python2_sitearch}/matplotlib/tests/baseline_images/
%{python2_sitearch}/mpl_toolkits/tests/baseline_images/
%files -n python2-matplotlib-qt4
%{python2_sitearch}/matplotlib/backends/backend_qt4.*
%{python2_sitearch}/matplotlib/backends/backend_qt4agg.*
%files -n python2-matplotlib-qt5
%{python2_sitearch}/matplotlib/backends/backend_qt5.*
%{python2_sitearch}/matplotlib/backends/backend_qt5agg.*
%files -n python2-matplotlib-gtk
%{python2_sitearch}/matplotlib/backends/backend_gtk.py*
%{python2_sitearch}/matplotlib/backends/backend_gtkagg.py*
%{python2_sitearch}/matplotlib/backends/backend_gtkcairo.py*
%{python2_sitearch}/matplotlib/backends/_gtkagg.so
%files -n python2-matplotlib-gtk3
%{python2_sitearch}/matplotlib/backends/backend_gtk3*.py*
%files -n python2-matplotlib-tk
%{python2_sitearch}/matplotlib/backends/backend_tkagg.py*
%{python2_sitearch}/matplotlib/backends/tkagg.py*
%{python2_sitearch}/matplotlib/backends/_tkagg.so
%files -n python2-matplotlib-wx
%{python2_sitearch}/matplotlib/backends/backend_wx.*
%{python2_sitearch}/matplotlib/backends/backend_wxagg.*
%files -n python2-matplotlib-doc
%doc examples
%if %{with_html}
%doc doc/build/html/*
@@ -408,101 +592,48 @@ PYTHONDONTWRITEBYTECODE=1 \
%exclude %{python3_sitearch}/mpl_toolkits/tests/baseline_images/*
%{python3_sitearch}/pylab.py*
%{python3_sitearch}/__pycache__/*
%exclude %{python3_sitearch}/matplotlib/backends/backend_qt4*.py
%exclude %{python3_sitearch}/matplotlib/backends/backend_qt4*
%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt4*
#exclude #{python3_sitearch}/matplotlib/backends/backend_qt5*.py
#exclude #{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt5*
%exclude %{python3_sitearch}/matplotlib/backends/_gtk3_compat.py
%exclude %{python3_sitearch}/matplotlib/backends/backend_gtk*.py
%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/_gtk3_compat.*
%exclude %{python3_sitearch}/matplotlib/backends/backend_qt5*
%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt5*
%exclude %{python3_sitearch}/matplotlib/backends/backend_gtk*
%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/backend_gtk*
%exclude %{python3_sitearch}/matplotlib/backends/_backend_tk.py
%exclude %{python3_sitearch}/matplotlib/backends/backend_tk*.py
%exclude %{python3_sitearch}/matplotlib/backends/tkagg.py
%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/_backend_tk.*
%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/backend_tk*.*
%exclude %{python3_sitearch}/matplotlib/backends/backend_tkagg.*
%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/backend_tkagg.*
%exclude %{python3_sitearch}/matplotlib/backends/tkagg.*
%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/tkagg.*
%exclude %{python3_sitearch}/matplotlib/backends/_tkagg.*
%exclude %{python3_sitearch}/matplotlib/backends/backend_wx*
%exclude %{python3_sitearch}/matplotlib/backends/wx_compat.*
%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/backend_wx*
%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/wx_compat.*
%exclude %{_pkgdocdir}/*/
%files -n python3-matplotlib-test-data
%{python3_sitearch}/matplotlib/tests/baseline_images/
%{python3_sitearch}/mpl_toolkits/tests/baseline_images/
%if %{with qt4}
%files -n python3-matplotlib-qt4
%{python3_sitearch}/matplotlib/backends/backend_qt4.py
%{python3_sitearch}/matplotlib/backends/backend_qt4.*
%{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt4.*
%{python3_sitearch}/matplotlib/backends/backend_qt4agg.py
%{python3_sitearch}/matplotlib/backends/backend_qt4agg.*
%{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt4agg.*
%endif
# This subpackage is empty because the Qt4 backend imports it, so we leave
# these files in the default package, and only use this one for dependencies.
%files -n python3-matplotlib-qt5
#{python3_sitearch}/matplotlib/backends/backend_qt5.py
#{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt5.*
#{python3_sitearch}/matplotlib/backends/backend_qt5agg.py
#{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt5agg.*
%{python3_sitearch}/matplotlib/backends/backend_qt5.*
%{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt5.*
%{python3_sitearch}/matplotlib/backends/backend_qt5agg.*
%{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt5agg.*
%files -n python3-matplotlib-gtk3
%{python3_sitearch}/matplotlib/backends/backend_gtk*.py
%{python3_sitearch}/matplotlib/backends/_gtk3_compat.py
%{python3_sitearch}/matplotlib/backends/backend_gtk*
%{python3_sitearch}/matplotlib/backends/__pycache__/backend_gtk*
%{python3_sitearch}/matplotlib/backends/__pycache__/_gtk3_compat.*
%files -n python3-matplotlib-tk
%{python3_sitearch}/matplotlib/backends/backend_tk*.py
%{python3_sitearch}/matplotlib/backends/_backend_tk.py
%{python3_sitearch}/matplotlib/backends/tkagg.py
%{python3_sitearch}/matplotlib/backends/__pycache__/backend_tk*.*
%{python3_sitearch}/matplotlib/backends/__pycache__/_backend_tk.*
%{python3_sitearch}/matplotlib/backends/backend_tkagg.py*
%{python3_sitearch}/matplotlib/backends/__pycache__/backend_tkagg.*
%{python3_sitearch}/matplotlib/backends/tkagg.*
%{python3_sitearch}/matplotlib/backends/__pycache__/tkagg.*
%{python3_sitearch}/matplotlib/backends/_tkagg.*
%if %{with wx}
%files -n python3-matplotlib-wx
%{python3_sitearch}/matplotlib/backends/backend_wx*.py
%{python3_sitearch}/matplotlib/backends/wx_compat.py
%{python3_sitearch}/matplotlib/backends/__pycache__/backend_wx*
%{python3_sitearch}/matplotlib/backends/__pycache__/wx_compat.*
%endif
%changelog
* Wed Jan 19 2022 Orion Poplawski <orion@nwra.com> - 3.0.3-4
- Enable wx backend (bz#1955488)
* Tue Sep 17 2019 Orion Poplawski <orion@nwra.com> - 3.0.3-3
- Disable qt4 and wx for EPEL8
* Wed Jul 3 2019 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.0.3-2
- Update Obsoletes to be later than the last python2 builds (#1726490)
* Sat Mar 02 2019 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 3.0.3-1
- Update to latest version
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.2-1.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Tue Nov 13 2018 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 3.0.2-1
- Update to latest version
* Wed Oct 31 2018 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 3.0.1-1
- Update to latest version
* Fri Sep 21 2018 Miro Hrončok <mhroncok@redhat.com> - 3.0.0-2
- Obsolete old python-matplotlib-data* to prevent conflicts and provide an upgrade path
* Wed Sep 19 2018 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 3.0.0-1
- Update to latest version
- Drop Python 2 subpackages
- Stop setting a default backend (allow Matplotlib to choose automatically)
* Mon Aug 13 2018 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 2.2.3-1
- Update to latest version

View File

@@ -2,3 +2,6 @@
tests = True
toolkits = True
toolkits_tests = True
[rc_options]
backend = GTKAgg

View File

@@ -1,2 +1,3 @@
SHA512 (matplotlib-3.0.3.tar.gz) = 9fe00b8d0ca6dcf2f1b907118b656353e115b73f8b21adeb4391c87e164c111a4994c3ac17cdd02e75b896d9aa26c279618132f9a7bfe995c0f7c62356ed85ad
SHA512 (matplotlib-3.0.1-with-freetype-2.9.1.tar.gz) = 7d2f9fa2a1ae58107283877cbb96d74f79cfda4d6328bdee90d88b2a286eaad9ae8ff6d764f10a5c05eec6fb5de8598cada168fe7c85d33bd07873fdfc142e3a
SHA512 (matplotlib-2.2.4.tar.gz) = c4ceb75314c303d310410683180dbe950223c7f054fc19739c49eaede46f183075ea402e7305843552fae75af3c55560f9e5c5549994cf5fce34f07ad6f3c720
SHA512 (matplotlib-2.2.3-with-freetype-2.9.1.tar.gz) = 00f6d4eeab6d73108129a5ccbaccda37c2e8cc684efeeb03c492a96a2071357a32a624ebfef2770c8c205a3741ef8d947f117351d90d25c4c7b4b8b6b84db556
SHA512 (matplotlib-2.2.3-with-freetype-2.8.tar.gz) = 7f11a0589f2ab5fcbdee0da0d4fa003c62b9e882fbae22a6bc725f791f3ea058b33321a70a5cf1858f494aa1ebb8b3e686c56ff73e6174fb980e159331bd0a0d