The package rpms/python-matplotlib.git has added or updated architecture specific content
in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/python-matplotlib.git/commit/?id=....
Change:
-%ifarch i686 armv7hl
Thanks.
Full change:
============
commit 037e6aee2ba1e8e24a77bb949dc0c4c06c63296a
Author: Elliott Sales de Andrade <quantum.analyst(a)gmail.com>
Date: Mon Jun 29 20:38:52 2020 -0400
Update to 3.3.0rc1.
diff --git a/.gitignore b/.gitignore
index 9732d93..4df50f3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -49,3 +49,5 @@ matplotlib-1.0.0-without-gpc.tar.gz
/matplotlib-3.2.1.tar.gz
/matplotlib-3.2.2.tar.gz
/matplotlib-3.2.2-with-freetype-2.10.1.tar.gz
+/matplotlib-3.3.0rc1.tar.gz
+/matplotlib-3.3.0rc1-with-freetype-2.10.1.tar.gz
diff --git a/0001-Force-using-system-qhull.patch b/0001-Force-using-system-qhull.patch
deleted file mode 100644
index 23c6c8d..0000000
--- a/0001-Force-using-system-qhull.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From ee5c28ea8cd17cbc04d5a9b79d5ce1326df93466 Mon Sep 17 00:00:00 2001
-From: Elliott Sales de Andrade <quantum.analyst(a)gmail.com>
-Date: Fri, 30 Mar 2018 03:15:51 -0400
-Subject: [PATCH] Force using system qhull.
-
-Signed-off-by: Elliott Sales de Andrade <quantum.analyst(a)gmail.com>
----
- setupext.py | 12 +++++-------
- 1 file changed, 5 insertions(+), 7 deletions(-)
-
-diff --git a/setupext.py b/setupext.py
-index 3e8b382cc..66a278b0c 100644
---- a/setupext.py
-+++ b/setupext.py
-@@ -838,14 +838,12 @@ class Png(SetupPackage):
- class Qhull(SetupPackage):
- name = "qhull"
-
-+ def check(self):
-+ self.__class__.found_external = True
-+ return ' Using system copy.'
-+
- def add_flags(self, ext):
-- # Qhull doesn't distribute pkg-config info, so we have no way of
-- # knowing whether a system install is recent enough. Thus, always use
-- # the vendored version.
-- ext.include_dirs.insert(0, 'extern')
-- ext.sources.extend(sorted(glob.glob('extern/libqhull/*.c')))
-- if sysconfig.get_config_var('LIBM') == '-lm':
-- ext.libraries.extend('m')
-+ ext.libraries.append('qhull')
-
-
- class TTConv(SetupPackage):
---
-2.21.0
-
diff --git a/0001-Use-packaged-jquery-and-jquery-ui.patch
b/0001-Use-packaged-jquery-and-jquery-ui.patch
deleted file mode 100644
index 801f520..0000000
--- a/0001-Use-packaged-jquery-and-jquery-ui.patch
+++ /dev/null
@@ -1,121 +0,0 @@
-From a3fec73e39558f1a8d41663fe05783889e735af4 Mon Sep 17 00:00:00 2001
-From: Elliott Sales de Andrade <quantum.analyst(a)gmail.com>
-Date: Sat, 2 Mar 2019 18:18:29 -0500
-Subject: [PATCH] Use packaged jquery and jquery-ui.
-
-Signed-off-by: Elliott Sales de Andrade <quantum.analyst(a)gmail.com>
----
- .../backends/web_backend/all_figures.html | 6 +--
- .../backends/web_backend/single_figure.html | 6 +--
- setup.py | 54 -------------------
- 3 files changed, 6 insertions(+), 60 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
---- a/lib/matplotlib/backends/web_backend/all_figures.html
-+++ b/lib/matplotlib/backends/web_backend/all_figures.html
-@@ -3,9 +3,9 @@
- <link rel="stylesheet" href="{{ prefix
}}/_static/css/page.css" type="text/css">
- <link rel="stylesheet" href="{{ prefix
}}/_static/css/boilerplate.css" type="text/css" />
- <link rel="stylesheet" href="{{ prefix
}}/_static/css/fbm.css" type="text/css" />
-- <link rel="stylesheet" href="{{ prefix
}}/_static/jquery-ui-1.12.1/jquery-ui.min.css" >
-- <script src="{{ prefix
}}/_static/jquery-ui-1.12.1/external/jquery/jquery.js"></script>
-- <script src="{{ prefix
}}/_static/jquery-ui-1.12.1/jquery-ui.min.js"></script>
-+ <link rel="stylesheet"
href="/usr/share/javascript/jquery_ui/jquery-ui.min.css" >
-+ <script
src="/usr/share/javascript/jquery/latest/jquery.min.js"></script>
-+ <script
src="/usr/share/javascript/jquery_ui/jquery-ui.min.js"></script>
- <script src="{{ prefix
}}/_static/js/mpl_tornado.js"></script>
- <script src="{{ prefix }}/js/mpl.js"></script>
-
-diff --git a/lib/matplotlib/backends/web_backend/single_figure.html
b/lib/matplotlib/backends/web_backend/single_figure.html
-index 4d5a366fb..c11c86618 100644
---- a/lib/matplotlib/backends/web_backend/single_figure.html
-+++ b/lib/matplotlib/backends/web_backend/single_figure.html
-@@ -3,9 +3,9 @@
- <link rel="stylesheet" href="{{ prefix
}}/_static/css/page.css" type="text/css">
- <link rel="stylesheet" href="{{ prefix
}}/_static/css/boilerplate.css" type="text/css" />
- <link rel="stylesheet" href="{{ prefix
}}/_static/css/fbm.css" type="text/css" />
-- <link rel="stylesheet" href="{{ prefix
}}/_static/jquery-ui-1.12.1/jquery-ui.min.css" >
-- <script src="{{ prefix
}}/_static/jquery-ui-1.12.1/external/jquery/jquery.js"></script>
-- <script src="{{ prefix
}}/_static/jquery-ui-1.12.1/jquery-ui.min.js"></script>
-+ <link rel="stylesheet"
href="/usr/share/javascript/jquery_ui/jquery-ui.min.css" >
-+ <script
src="/usr/share/javascript/jquery/latest/jquery.min.js"></script>
-+ <script
src="/usr/share/javascript/jquery_ui/jquery-ui.min.js"></script>
- <script src="{{ prefix
}}/_static/js/mpl_tornado.js"></script>
- <script src="{{ prefix }}/js/mpl.js"></script>
- <script>
-diff --git a/setup.py b/setup.py
-index bf03159fb..81c2f96d7 100644
---- a/setup.py
-+++ b/setup.py
-@@ -28,8 +28,6 @@ from zipfile import ZipFile
-
- from setuptools import setup, find_packages, Extension
- from setuptools.command.build_ext import build_ext as BuildExtCommand
--from setuptools.command.develop import develop as DevelopCommand
--from setuptools.command.install_lib import install_lib as InstallLibCommand
- from setuptools.command.test import test as TestCommand
-
- # The setuptools version of sdist adds a setup.cfg file to the tree.
-@@ -120,58 +118,6 @@ cmdclass['test'] = NoopTestCommand
- cmdclass['build_ext'] = BuildExtraLibraries
-
-
--def _download_jquery_to(dest):
-- # Note: When bumping the jquery-ui version, also update the versions in
-- # single_figure.html and all_figures.html.
-- url = "https://jqueryui.com/resources/download/jquery-ui-1.12.1.zip"
-- sha = "f8233674366ab36b2c34c577ec77a3d70cac75d2e387d8587f3836345c0f624d"
-- name = Path(url).stem
-- if (dest / name).exists():
-- return
-- # If we are installing from an sdist, use the already downloaded jquery-ui.
-- sdist_src = Path("lib/matplotlib/backends/web_backend", name)
-- if sdist_src.exists():
-- shutil.copytree(sdist_src, dest / name)
-- return
-- if not (dest / name).exists():
-- dest.mkdir(parents=True, exist_ok=True)
-- try:
-- buff = download_or_cache(url, sha)
-- except Exception:
-- raise IOError(
-- "Failed to download jquery-ui. Please download "
-- "{url} and extract it to {dest}.".format(url=url, dest=dest))
-- with ZipFile(buff) as zf:
-- zf.extractall(dest)
--
--
--# Relying on versioneer's implementation detail.
--class sdist_with_jquery(cmdclass['sdist']):
-- def make_release_tree(self, base_dir, files):
-- super().make_release_tree(base_dir, files)
-- _download_jquery_to(
-- Path(base_dir, "lib/matplotlib/backends/web_backend/"))
--
--
--# Affects install and bdist_wheel.
--class install_lib_with_jquery(InstallLibCommand):
-- def run(self):
-- super().run()
-- _download_jquery_to(
-- Path(self.install_dir, "matplotlib/backends/web_backend/"))
--
--
--class develop_with_jquery(DevelopCommand):
-- def run(self):
-- super().run()
-- _download_jquery_to(Path("lib/matplotlib/backends/web_backend/"))
--
--
--cmdclass['sdist'] = sdist_with_jquery
--cmdclass['install_lib'] = install_lib_with_jquery
--cmdclass['develop'] = develop_with_jquery
--
--
- # One doesn't normally see `if __name__ == '__main__'` blocks in a
setup.py,
- # however, this is needed on Windows to avoid creating infinite subprocesses
- # when using multiprocessing.
---
-2.25.4
-
diff --git a/0001-matplotlibrc-path-search-fix.patch
b/0001-matplotlibrc-path-search-fix.patch
index 356a62c..906ab8f 100644
--- a/0001-matplotlibrc-path-search-fix.patch
+++ b/0001-matplotlibrc-path-search-fix.patch
@@ -1,27 +1,25 @@
-From 4431ff98f5f95a65378f4fa4b6e6fe02280911bf Mon Sep 17 00:00:00 2001
+From e56c8930052b4ac06f5ae58cac8d97dec728f314 Mon Sep 17 00:00:00 2001
From: Elliott Sales de Andrade <quantum.analyst(a)gmail.com>
Date: Wed, 27 Sep 2017 19:35:59 -0400
-Subject: [PATCH 1/4] matplotlibrc path search fix
+Subject: [PATCH 1/6] matplotlibrc path search fix
Signed-off-by: Elliott Sales de Andrade <quantum.analyst(a)gmail.com>
---
- lib/matplotlib/__init__.py | 31 ++++-----------------------
- lib/matplotlib/tests/test_rcparams.py | 15 +++++++++----
- 2 files changed, 15 insertions(+), 31 deletions(-)
+ lib/matplotlib/__init__.py | 28 ++++------------------------
+ 1 file changed, 4 insertions(+), 24 deletions(-)
diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py
-index fa1caecda..d2bd48800 100644
+index e19ceabf9..809fff933 100644
--- a/lib/matplotlib/__init__.py
+++ b/lib/matplotlib/__init__.py
-@@ -654,34 +654,12 @@ def _get_data_path():
- "3.1", name="MATPLOTLIBDATA", obj_type="environment
variable")
- return path
+@@ -536,33 +536,11 @@ def get_data_path(*, _from_rc=None):
+ @_logged_cached('(private) matplotlib data path: %s')
+ def _get_data_path():
- path = Path(__file__).with_name("mpl-data")
+ path = (Path(__file__).parent.parent.parent.parent.parent /
+ 'share/matplotlib/mpl-data')
if path.is_dir():
- defaultParams['datapath'][0] = str(path)
return str(path)
- cbook.warn_deprecated(
@@ -50,62 +48,22 @@ index fa1caecda..d2bd48800 100644
raise RuntimeError('Could not find the matplotlib data files')
-@@ -712,8 +690,7 @@ def matplotlib_fname():
+@@ -583,6 +561,7 @@ def matplotlib_fname():
is not defined)
- On other platforms,
- ``$HOME/.matplotlib/matplotlibrc`` if ``$HOME`` is defined
-- - Lastly, it looks in ``$MATPLOTLIBDATA/matplotlibrc``, which should always
-- exist.
-+ - Lastly, it looks in ``/etc/matplotlibrc``, which should always exist.
++ - ``/etc/matplotlibrc``
+ - Lastly, it looks in ``$MATPLOTLIBDATA/matplotlibrc``, which should always
+ exist.
"""
-
- def gen_candidates():
-@@ -726,7 +703,7 @@ def matplotlib_fname():
+@@ -597,6 +576,7 @@ def matplotlib_fname():
yield matplotlibrc
yield os.path.join(matplotlibrc, 'matplotlibrc')
yield os.path.join(get_configdir(), 'matplotlibrc')
-- yield os.path.join(_get_data_path(), 'matplotlibrc')
+ yield '/etc/matplotlibrc'
+ yield os.path.join(_get_data_path(), 'matplotlibrc')
for fname in gen_candidates():
- if os.path.exists(fname) and not os.path.isdir(fname):
-diff --git a/lib/matplotlib/tests/test_rcparams.py
b/lib/matplotlib/tests/test_rcparams.py
-index 87dfbeceb..54885da47 100644
---- a/lib/matplotlib/tests/test_rcparams.py
-+++ b/lib/matplotlib/tests/test_rcparams.py
-@@ -460,10 +460,17 @@ def test_rcparams_reset_after_fail():
- assert mpl.rcParams['text.usetex'] is False
-
-
--def test_if_rctemplate_is_up_to_date():
-+(a)pytest.fixture
-+def mplrc():
-+ # This is the Fedora-specific location.
-+ return (Path(__file__).parent.parent.parent.parent.parent.parent.parent /
-+ 'etc/matplotlibrc')
-+
-+
-+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}
-- with cbook._get_data_path('matplotlibrc').open() as file:
-+ with mplrc.open() as file:
- rclines = file.readlines()
- missing = {}
- for k, v in mpl.defaultParams.items():
-@@ -483,10 +490,10 @@ def test_if_rctemplate_is_up_to_date():
- .format(missing.items()))
-
-
--def test_if_rctemplate_would_be_valid(tmpdir):
-+def test_if_rctemplate_would_be_valid(tmpdir, mplrc):
- # This tests if the matplotlibrc.template file would result in a valid
- # rc file if all lines are uncommented.
-- with cbook._get_data_path('matplotlibrc').open() as file:
-+ with mplrc.open() as file:
- rclines = file.readlines()
- newlines = []
- for line in rclines:
--
2.25.4
diff --git a/0002-Set-FreeType-version-to-2.10.1-and-update-tolerances.patch
b/0002-Set-FreeType-version-to-2.10.1-and-update-tolerances.patch
index 69e648e..1f41a15 100644
--- a/0002-Set-FreeType-version-to-2.10.1-and-update-tolerances.patch
+++ b/0002-Set-FreeType-version-to-2.10.1-and-update-tolerances.patch
@@ -1,22 +1,23 @@
-From c61647b9604ce6538fa28b807d094056b005258d Mon Sep 17 00:00:00 2001
+From e67b2eb6fb233085fb58e61217a946ea28f3649f Mon Sep 17 00:00:00 2001
From: Elliott Sales de Andrade <quantum.analyst(a)gmail.com>
Date: Fri, 14 Feb 2020 06:05:42 -0500
-Subject: [PATCH 2/4] Set FreeType version to 2.10.1 and update tolerances.
+Subject: [PATCH 2/6] Set FreeType version to 2.10.1 and update tolerances.
Signed-off-by: Elliott Sales de Andrade <quantum.analyst(a)gmail.com>
---
lib/matplotlib/__init__.py | 2 +-
- lib/matplotlib/tests/test_axes.py | 6 +++---
+ lib/matplotlib/tests/test_axes.py | 4 ++--
lib/matplotlib/tests/test_constrainedlayout.py | 2 +-
+ lib/matplotlib/tests/test_polar.py | 2 +-
lib/matplotlib/tests/test_tightlayout.py | 10 +++++-----
setupext.py | 2 +-
- 5 files changed, 11 insertions(+), 11 deletions(-)
+ 6 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py
-index d2bd48800..ff06bf049 100644
+index 809fff933..3c8cd20e0 100644
--- a/lib/matplotlib/__init__.py
+++ b/lib/matplotlib/__init__.py
-@@ -1313,7 +1313,7 @@ default_test_modules = [
+@@ -1164,7 +1164,7 @@ default_test_modules = [
def _init_tests():
# The version of FreeType to install locally for running the
# tests. This must match the value in `setupext.py`
@@ -26,10 +27,10 @@ index d2bd48800..ff06bf049 100644
from matplotlib import ft2font
if (ft2font.__freetype_version__ != LOCAL_FREETYPE_VERSION or
diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
-index 75636301d..b5bfc32c3 100644
+index 2a61b232f..107936d19 100644
--- a/lib/matplotlib/tests/test_axes.py
+++ b/lib/matplotlib/tests/test_axes.py
-@@ -6425,7 +6425,7 @@ def test_normal_axes():
+@@ -5934,7 +5934,7 @@ def test_normal_axes():
]
for nn, b in enumerate(bbaxis):
targetbb = mtransforms.Bbox.from_bounds(*target[nn])
@@ -38,7 +39,7 @@ index 75636301d..b5bfc32c3 100644
target = [
[150.0, 119.999, 930.0, 11.111],
-@@ -6443,7 +6443,7 @@ def test_normal_axes():
+@@ -5952,7 +5952,7 @@ def test_normal_axes():
target = [85.5138, 75.88888, 1021.11, 1017.11]
targetbb = mtransforms.Bbox.from_bounds(*target)
@@ -47,30 +48,34 @@ index 75636301d..b5bfc32c3 100644
# test that get_position roundtrips to get_window_extent
axbb = ax.get_position().transformed(fig.transFigure).bounds
-@@ -6568,7 +6568,7 @@ def test_get_tightbbox_polar():
- fig.canvas.draw()
- bb = ax.get_tightbbox(fig.canvas.get_renderer())
- assert_allclose(bb.extents,
-- [107.7778, 29.2778, 539.7847, 450.7222], rtol=1e-03)
-+ [107.7778, 29.2778, 539.7847, 450.7222], rtol=1)
-
-
- @check_figures_equal(extensions=["png"])
diff --git a/lib/matplotlib/tests/test_constrainedlayout.py
b/lib/matplotlib/tests/test_constrainedlayout.py
-index c91037eae..75311e70e 100644
+index 46e6b9663..593b3fb3e 100644
--- a/lib/matplotlib/tests/test_constrainedlayout.py
+++ b/lib/matplotlib/tests/test_constrainedlayout.py
-@@ -399,4 +399,4 @@ def test_hidden_axes():
+@@ -398,4 +398,4 @@ def test_hidden_axes():
extents1 = np.copy(axs[0, 0].get_position().extents)
- np.testing.assert_allclose(extents1,
-- [0.045552, 0.548288, 0.47319, 0.982638], rtol=1e-5)
-+ [0.045552, 0.548288, 0.47319, 0.982638], rtol=1e-2)
+ np.testing.assert_allclose(
+- extents1, [0.045552, 0.548288, 0.47319, 0.982638], rtol=1e-5)
++ extents1, [0.045552, 0.548288, 0.47319, 0.982638], rtol=1e-2)
+diff --git a/lib/matplotlib/tests/test_polar.py b/lib/matplotlib/tests/test_polar.py
+index 100954ac3..3594a9224 100644
+--- a/lib/matplotlib/tests/test_polar.py
++++ b/lib/matplotlib/tests/test_polar.py
+@@ -311,7 +311,7 @@ def test_get_tightbbox_polar():
+ fig.canvas.draw()
+ bb = ax.get_tightbbox(fig.canvas.get_renderer())
+ assert_allclose(
+- bb.extents, [107.7778, 29.2778, 539.7847, 450.7222], rtol=1e-03)
++ bb.extents, [107.7778, 29.2778, 539.7847, 450.7222], rtol=1)
+
+
+ @check_figures_equal(extensions=["png"])
diff --git a/lib/matplotlib/tests/test_tightlayout.py
b/lib/matplotlib/tests/test_tightlayout.py
-index 377dfb649..6e6d8afe2 100644
+index 9ad2e0a9a..7c9085a31 100644
--- a/lib/matplotlib/tests/test_tightlayout.py
+++ b/lib/matplotlib/tests/test_tightlayout.py
-@@ -172,12 +172,12 @@ def test_outward_ticks():
+@@ -171,12 +171,12 @@ def test_outward_ticks():
plt.tight_layout()
# These values were obtained after visual checking that they correspond
# to a tight layouting that did take the ticks into account.
@@ -89,10 +94,10 @@ index 377dfb649..6e6d8afe2 100644
diff --git a/setupext.py b/setupext.py
-index 09cd6bbd7..c3c96d4e0 100644
+index 4a838eedd..a084f881a 100644
--- a/setupext.py
+++ b/setupext.py
-@@ -152,7 +152,7 @@ _freetype_hashes = {
+@@ -126,7 +126,7 @@ _freetype_hashes = {
# version. It must match the value in
# lib/matplotlib.__init__.py and also needs to be changed below in the
# embedded windows build script (grep for "REMINDER" in this file)
diff --git a/0003-Increase-default-tolerance-slightly-for-32-bit-syste.patch
b/0003-Increase-default-tolerance-slightly-for-32-bit-syste.patch
new file mode 100644
index 0000000..a837e04
--- /dev/null
+++ b/0003-Increase-default-tolerance-slightly-for-32-bit-syste.patch
@@ -0,0 +1,28 @@
+From a200118d059ec46d29ef2e5b71892d60d31a6103 Mon Sep 17 00:00:00 2001
+From: Elliott Sales de Andrade <quantum.analyst(a)gmail.com>
+Date: Sun, 28 Jun 2020 17:37:36 -0400
+Subject: [PATCH 3/6] Increase default tolerance slightly for 32-bit systems.
+
+Around 900 tests fail on 32-bit systems, but with rather small RMS.
+
+Signed-off-by: Elliott Sales de Andrade <quantum.analyst(a)gmail.com>
+---
+ lib/matplotlib/testing/decorators.py | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/lib/matplotlib/testing/decorators.py b/lib/matplotlib/testing/decorators.py
+index cb6812d7e..207612d2a 100644
+--- a/lib/matplotlib/testing/decorators.py
++++ b/lib/matplotlib/testing/decorators.py
+@@ -378,6 +378,8 @@ def image_comparison(baseline_images, extensions=None, tol=0,
+ extensions = ['png', 'pdf', 'svg']
+ if savefig_kwarg is None:
+ savefig_kwarg = dict() # default no kwargs to savefig
++ if sys.maxsize <= 2**32:
++ tol += 0.06
+ return _pytest_image_comparison(
+ baseline_images=baseline_images, extensions=extensions, tol=tol,
+ freetype_version=freetype_version, remove_text=remove_text,
+--
+2.25.4
+
diff --git a/0003-Increase-tolerances-for-non-x86_64-arches.patch
b/0003-Increase-tolerances-for-non-x86_64-arches.patch
deleted file mode 100644
index d1b485f..0000000
--- a/0003-Increase-tolerances-for-non-x86_64-arches.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From e952bc36999a141a5c026544bae0c52817d4edd9 Mon Sep 17 00:00:00 2001
-From: Elliott Sales de Andrade <quantum.analyst(a)gmail.com>
-Date: Tue, 23 Jan 2018 20:27:17 -0500
-Subject: [PATCH 3/4] Increase tolerances for non-x86_64 arches.
-
-Signed-off-by: Elliott Sales de Andrade <quantum.analyst(a)gmail.com>
----
- lib/matplotlib/tests/test_streamplot.py | 4 ++--
- lib/mpl_toolkits/tests/test_axes_grid1.py | 2 +-
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/lib/matplotlib/tests/test_streamplot.py
b/lib/matplotlib/tests/test_streamplot.py
-index d2218f6f2..1afc60543 100644
---- a/lib/matplotlib/tests/test_streamplot.py
-+++ b/lib/matplotlib/tests/test_streamplot.py
-@@ -63,8 +63,8 @@ def test_linewidth():
- linewidth=lw)
-
-
--@image_comparison(['streamplot_masks_and_nans'],
-- remove_text=True, style='mpl20', tol=0.04 if on_win else 0)
-+@image_comparison(baseline_images=['streamplot_masks_and_nans'],
-+ remove_text=True, style='mpl20', tol=0.04 if on_win else .01)
- def test_masks_and_nans():
- X, Y, U, V = velocity_field()
- mask = np.zeros(U.shape, dtype=bool)
-diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py
b/lib/mpl_toolkits/tests/test_axes_grid1.py
-index 9ed9a9280..56a3bd14a 100644
---- a/lib/mpl_toolkits/tests/test_axes_grid1.py
-+++ b/lib/mpl_toolkits/tests/test_axes_grid1.py
-@@ -343,7 +343,7 @@ def test_zooming_with_inverted_axes():
-
-
- @image_comparison(['anchored_direction_arrows.png'],
-- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
-+ tol=0.02)
- def test_anchored_direction_arrows():
- fig, ax = plt.subplots()
- ax.imshow(np.zeros((10, 10)), interpolation='nearest')
---
-2.25.4
-
diff --git a/0004-Increase-some-tolerances-for-32-bit-systems.patch
b/0004-Increase-some-tolerances-for-32-bit-systems.patch
deleted file mode 100644
index d7004b7..0000000
--- a/0004-Increase-some-tolerances-for-32-bit-systems.patch
+++ /dev/null
@@ -1,665 +0,0 @@
-From 928df2339ec6f8cc838f2b46c4bef4b10dc66c52 Mon Sep 17 00:00:00 2001
-From: Elliott Sales de Andrade <quantum.analyst(a)gmail.com>
-Date: Sat, 31 Mar 2018 00:15:14 -0400
-Subject: [PATCH 4/4] Increase some tolerances for 32-bit systems.
-
-Signed-off-by: Elliott Sales de Andrade <quantum.analyst(a)gmail.com>
----
- lib/matplotlib/testing/decorators.py | 2 +-
- lib/matplotlib/tests/test_artist.py | 2 +-
- lib/matplotlib/tests/test_axes.py | 48 +++++++++----------
- lib/matplotlib/tests/test_collections.py | 2 +-
- lib/matplotlib/tests/test_colorbar.py | 10 ++--
- .../tests/test_constrainedlayout.py | 2 +-
- lib/matplotlib/tests/test_contour.py | 6 +--
- lib/matplotlib/tests/test_cycles.py | 9 ++--
- lib/matplotlib/tests/test_figure.py | 3 +-
- lib/matplotlib/tests/test_image.py | 2 +-
- lib/matplotlib/tests/test_legend.py | 9 ++--
- 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_transforms.py | 2 +-
- lib/matplotlib/tests/test_units.py | 3 +-
- .../tests/test_axisartist_floating_axes.py | 4 +-
- ...test_axisartist_grid_helper_curvelinear.py | 7 ++-
- lib/mpl_toolkits/tests/test_mplot3d.py | 4 +-
- 22 files changed, 60 insertions(+), 70 deletions(-)
-
-diff --git a/lib/matplotlib/testing/decorators.py b/lib/matplotlib/testing/decorators.py
-index cd447976b..545bf2cfe 100644
---- a/lib/matplotlib/testing/decorators.py
-+++ b/lib/matplotlib/testing/decorators.py
-@@ -269,7 +269,7 @@ def _pytest_image_comparison(baseline_images, extensions, tol,
- return decorator
-
-
--def image_comparison(baseline_images, extensions=None, tol=0,
-+def image_comparison(baseline_images, extensions=None, tol=0.1,
- freetype_version=None, remove_text=False,
- 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 a598e822d..becc9b46d 100644
---- a/lib/matplotlib/tests/test_artist.py
-+++ b/lib/matplotlib/tests/test_artist.py
-@@ -94,7 +94,7 @@ def test_collection_transform_of_none():
- assert isinstance(c._transOffset, mtransforms.IdentityTransform)
-
-
--@image_comparison(["clip_path_clipping"], remove_text=True)
-+@image_comparison(["clip_path_clipping"], remove_text=True, tol=0.28)
- def test_clipping():
- 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 b5bfc32c3..8bf3afb54 100644
---- a/lib/matplotlib/tests/test_axes.py
-+++ b/lib/matplotlib/tests/test_axes.py
-@@ -563,7 +563,7 @@ def test_single_point():
- plt.plot('b', 'b', 'o', data=data)
-
-
--(a)image_comparison(['single_date.png'], style='mpl20')
-+(a)image_comparison(['single_date.png'], style='mpl20', tol=1.97)
- def test_single_date():
- # use former defaults to match existing baseline image
- plt.rcParams['axes.formatter.limits'] = -7, 7
-@@ -1097,7 +1097,7 @@ def test_fill_between_interpolate():
-
-
- @image_comparison(['fill_between_interpolate_decreasing'],
-- style='mpl20', remove_text=True)
-+ style='mpl20', remove_text=True, tol=0.78)
- def test_fill_between_interpolate_decreasing():
- p = np.array([724.3, 700, 655])
- t = np.array([9.4, 7, 2.2])
-@@ -1212,7 +1212,7 @@ def test_pcolormesh_alpha():
-
-
- @image_comparison(['pcolormesh_datetime_axis.png'],
-- remove_text=False, style='mpl20')
-+ remove_text=False, style='mpl20', tol=0.19)
- def test_pcolormesh_datetime_axis():
- fig = plt.figure()
- fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15)
-@@ -1238,7 +1238,7 @@ def test_pcolormesh_datetime_axis():
-
-
- @image_comparison(['pcolor_datetime_axis.png'],
-- remove_text=False, style='mpl20')
-+ remove_text=False, style='mpl20', tol=0.19)
- def test_pcolor_datetime_axis():
- fig = plt.figure()
- fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15)
-@@ -1294,7 +1294,8 @@ def test_canonical():
- ax.plot([1, 2, 3])
-
-
--(a)image_comparison(['arc_angles.png'], remove_text=True,
style='default')
-+(a)image_comparison(['arc_angles.png'], remove_text=True,
style='default',
-+ tol=0.17)
- def test_arc_angles():
- from matplotlib import patches
- # Ellipse parameters
-@@ -2769,7 +2770,7 @@ def test_boxplot_mod_artist_after_plotting():
-
-
- @image_comparison(['violinplot_vert_baseline.png',
-- 'violinplot_vert_baseline.png'])
-+ 'violinplot_vert_baseline.png'], tol=0.24)
- def test_vert_violinplot_baseline():
- # First 9 digits of frac(sqrt(2))
- np.random.seed(414213562)
-@@ -2786,7 +2787,7 @@ def test_vert_violinplot_baseline():
- showmedians=0, data=data)
-
-
--(a)image_comparison(['violinplot_vert_showmeans.png'])
-+(a)image_comparison(['violinplot_vert_showmeans.png'], tol=0.23)
- def test_vert_violinplot_showmeans():
- ax = plt.axes()
- # First 9 digits of frac(sqrt(3))
-@@ -2796,7 +2797,7 @@ def test_vert_violinplot_showmeans():
- showmedians=0)
-
-
--(a)image_comparison(['violinplot_vert_showextrema.png'])
-+(a)image_comparison(['violinplot_vert_showextrema.png'], tol=0.23)
- def test_vert_violinplot_showextrema():
- ax = plt.axes()
- # First 9 digits of frac(sqrt(5))
-@@ -2806,7 +2807,7 @@ def test_vert_violinplot_showextrema():
- showmedians=0)
-
-
--(a)image_comparison(['violinplot_vert_showmedians.png'])
-+(a)image_comparison(['violinplot_vert_showmedians.png'], tol=0.23)
- def test_vert_violinplot_showmedians():
- ax = plt.axes()
- # First 9 digits of frac(sqrt(7))
-@@ -2816,7 +2817,7 @@ def test_vert_violinplot_showmedians():
- showmedians=1)
-
-
--(a)image_comparison(['violinplot_vert_showall.png'])
-+(a)image_comparison(['violinplot_vert_showall.png'], tol=0.2)
- def test_vert_violinplot_showall():
- ax = plt.axes()
- # First 9 digits of frac(sqrt(11))
-@@ -2827,7 +2828,7 @@ def test_vert_violinplot_showall():
- quantiles=[[0.1, 0.9], [0.2, 0.8], [0.3, 0.7], [0.4, 0.6]])
-
-
--(a)image_comparison(['violinplot_vert_custompoints_10.png'])
-+(a)image_comparison(['violinplot_vert_custompoints_10.png'], tol=0.22)
- def test_vert_violinplot_custompoints_10():
- ax = plt.axes()
- # First 9 digits of frac(sqrt(13))
-@@ -2837,7 +2838,7 @@ def test_vert_violinplot_custompoints_10():
- showmedians=0, points=10)
-
-
--(a)image_comparison(['violinplot_vert_custompoints_200.png'])
-+(a)image_comparison(['violinplot_vert_custompoints_200.png'], tol=0.22)
- def test_vert_violinplot_custompoints_200():
- ax = plt.axes()
- # First 9 digits of frac(sqrt(17))
-@@ -2847,7 +2848,7 @@ def test_vert_violinplot_custompoints_200():
- showmedians=0, points=200)
-
-
--(a)image_comparison(['violinplot_horiz_baseline.png'])
-+(a)image_comparison(['violinplot_horiz_baseline.png'], tol=0.2)
- def test_horiz_violinplot_baseline():
- ax = plt.axes()
- # First 9 digits of frac(sqrt(19))
-@@ -2857,7 +2858,7 @@ def test_horiz_violinplot_baseline():
- showextrema=0, showmedians=0)
-
-
--(a)image_comparison(['violinplot_horiz_showmedians.png'])
-+(a)image_comparison(['violinplot_horiz_showmedians.png'], tol=0.23)
- def test_horiz_violinplot_showmedians():
- ax = plt.axes()
- # First 9 digits of frac(sqrt(23))
-@@ -2867,7 +2868,7 @@ def test_horiz_violinplot_showmedians():
- showextrema=0, showmedians=1)
-
-
--(a)image_comparison(['violinplot_horiz_showmeans.png'])
-+(a)image_comparison(['violinplot_horiz_showmeans.png'], tol=0.25)
- def test_horiz_violinplot_showmeans():
- ax = plt.axes()
- # First 9 digits of frac(sqrt(29))
-@@ -2877,7 +2878,7 @@ def test_horiz_violinplot_showmeans():
- showextrema=0, showmedians=0)
-
-
--(a)image_comparison(['violinplot_horiz_showextrema.png'])
-+(a)image_comparison(['violinplot_horiz_showextrema.png'], tol=0.2)
- def test_horiz_violinplot_showextrema():
- ax = plt.axes()
- # First 9 digits of frac(sqrt(31))
-@@ -2887,7 +2888,7 @@ def test_horiz_violinplot_showextrema():
- showextrema=1, showmedians=0)
-
-
--(a)image_comparison(['violinplot_horiz_showall.png'])
-+(a)image_comparison(['violinplot_horiz_showall.png'], tol=0.19)
- def test_horiz_violinplot_showall():
- ax = plt.axes()
- # First 9 digits of frac(sqrt(37))
-@@ -2898,7 +2899,7 @@ def test_horiz_violinplot_showall():
- quantiles=[[0.1, 0.9], [0.2, 0.8], [0.3, 0.7], [0.4, 0.6]])
-
-
--(a)image_comparison(['violinplot_horiz_custompoints_10.png'])
-+(a)image_comparison(['violinplot_horiz_custompoints_10.png'], tol=0.22)
- def test_horiz_violinplot_custompoints_10():
- ax = plt.axes()
- # First 9 digits of frac(sqrt(41))
-@@ -2908,7 +2909,7 @@ def test_horiz_violinplot_custompoints_10():
- showextrema=0, showmedians=0, points=10)
-
-
--(a)image_comparison(['violinplot_horiz_custompoints_200.png'])
-+(a)image_comparison(['violinplot_horiz_custompoints_200.png'], tol=0.22)
- def test_horiz_violinplot_custompoints_200():
- ax = plt.axes()
- # First 9 digits of frac(sqrt(43))
-@@ -3672,8 +3673,7 @@ def test_vertex_markers():
- ax.set_ylim([-1, 10])
-
-
--@image_comparison(['vline_hline_zorder', 'errorbar_zorder'],
-- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
-+@image_comparison(['vline_hline_zorder', 'errorbar_zorder'])
- def test_eb_line_zorder():
- x = list(range(10))
-
-@@ -4360,7 +4360,7 @@ def test_psd_noise():
- ax3.set_ylabel('')
-
-
--(a)image_comparison(['csd_freqs.png'], remove_text=True, tol=0.002)
-+(a)image_comparison(['csd_freqs.png'], remove_text=True, tol=0.21)
- def test_csd_freqs():
- '''test axes.csd with sinusoidal stimuli'''
- n = 10000
-@@ -5264,7 +5264,7 @@ def test_rc_spines():
- fig, ax = plt.subplots()
-
-
--(a)image_comparison(['rc_grid.png'], savefig_kwarg={'dpi': 40})
-+(a)image_comparison(['rc_grid.png'], savefig_kwarg={'dpi': 40}, tol=0.2)
- def test_rc_grid():
- fig = plt.figure()
- rc_dict0 = {
-@@ -5806,7 +5806,7 @@ def test_date_timezone_y():
- plt.plot_date([3] * 3, time_index, tz='UTC', xdate=False, ydate=True)
-
-
--(a)image_comparison(['date_timezone_x_and_y.png'])
-+(a)image_comparison(['date_timezone_x_and_y.png'], tol=3.05)
- def test_date_timezone_x_and_y():
- # Tests issue 5575
- UTC = datetime.timezone.utc
-diff --git a/lib/matplotlib/tests/test_collections.py
b/lib/matplotlib/tests/test_collections.py
-index 3f5b3bf1a..773573918 100644
---- a/lib/matplotlib/tests/test_collections.py
-+++ b/lib/matplotlib/tests/test_collections.py
-@@ -461,7 +461,7 @@ def test_EllipseCollection():
- ax.autoscale_view()
-
-
--(a)image_comparison(['polycollection_close.png'], remove_text=True)
-+(a)image_comparison(['polycollection_close.png'], remove_text=True, tol=0.45)
- def test_polycollection_close():
- from mpl_toolkits.mplot3d import Axes3D
-
-diff --git a/lib/matplotlib/tests/test_colorbar.py
b/lib/matplotlib/tests/test_colorbar.py
-index 6d1f39149..4d70f8506 100644
---- a/lib/matplotlib/tests/test_colorbar.py
-+++ b/lib/matplotlib/tests/test_colorbar.py
-@@ -95,7 +95,7 @@ def _colorbar_extension_length(spacing):
-
-
- @image_comparison(['colorbar_extensions_shape_uniform.png',
-- 'colorbar_extensions_shape_proportional.png'])
-+ 'colorbar_extensions_shape_proportional.png'], tol=0.16)
- 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():
-
-
- @image_comparison(['colorbar_extensions_uniform.png',
-- 'colorbar_extensions_proportional.png'])
-+ 'colorbar_extensions_proportional.png'], tol=0.25)
- 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():
- 'cbar_sharing',
- ],
- extensions=['png'], remove_text=True,
-- savefig_kwarg={'dpi': 40})
-+ savefig_kwarg={'dpi': 40}, tol=0.17)
- def test_colorbar_positioning():
- data = np.arange(1200).reshape(30, 40)
- levels = [0, 200, 400, 600, 800, 1000, 1200]
-@@ -171,7 +171,7 @@ def test_colorbar_positioning():
-
-
- @image_comparison(['cbar_with_subplots_adjust.png'], remove_text=True,
-- savefig_kwarg={'dpi': 40})
-+ savefig_kwarg={'dpi': 40}, tol=0.17)
- def test_gridspec_make_colorbar():
- plt.figure()
- data = np.arange(1200).reshape(30, 40)
-@@ -226,7 +226,7 @@ def test_colorbarbase():
- ColorbarBase(ax, plt.cm.bone)
-
-
--@image_comparison(['colorbar_closed_patch'], remove_text=True)
-+@image_comparison(['colorbar_closed_patch'], remove_text=True, tol=0.22)
- def test_colorbar_closed_patch():
- 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 75311e70e..64e7bcd25 100644
---- a/lib/matplotlib/tests/test_constrainedlayout.py
-+++ b/lib/matplotlib/tests/test_constrainedlayout.py
-@@ -234,7 +234,7 @@ def test_constrained_layout12():
- ax.set_xlabel('x-label')
-
-
--(a)image_comparison(['constrained_layout13.png'], tol=2.e-2)
-+(a)image_comparison(['constrained_layout13.png'], tol=3e-2)
- def test_constrained_layout13():
- 'Test that padding works.'
- fig, axs = plt.subplots(2, 2, constrained_layout=True)
-diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py
-index 4aabd36a7..14a52920e 100644
---- a/lib/matplotlib/tests/test_contour.py
-+++ b/lib/matplotlib/tests/test_contour.py
-@@ -162,7 +162,7 @@ def test_given_colors_levels_and_extends():
-
-
- @image_comparison(['contour_datetime_axis.png'],
-- remove_text=False, style='mpl20')
-+ remove_text=False, style='mpl20', tol=0.18)
- def test_contour_datetime_axis():
- fig = plt.figure()
- fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15)
-@@ -188,7 +188,7 @@ def test_contour_datetime_axis():
-
-
- @image_comparison(['contour_test_label_transforms.png'],
-- remove_text=True, style='mpl20')
-+ remove_text=True, style='mpl20', tol=1.38)
- def test_labels():
- # Adapted from pylab_examples example code: contour_demo.py
- # see issues #2475, #2843, and #2818 for explanation
-@@ -219,7 +219,7 @@ def test_labels():
-
- @image_comparison(['contour_corner_mask_False.png',
- 'contour_corner_mask_True.png'],
-- remove_text=True)
-+ remove_text=True, tol=0.19)
- 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 ee67b4e41..3ae6e4ebc 100644
---- a/lib/matplotlib/tests/test_cycles.py
-+++ b/lib/matplotlib/tests/test_cycles.py
-@@ -8,8 +8,7 @@ import pytest
- from cycler import cycler
-
-
--(a)image_comparison(['color_cycle_basic.png'], remove_text=True,
-- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
-+(a)image_comparison(['color_cycle_basic.png'], remove_text=True)
- def test_colorcycle_basic():
- fig, ax = plt.subplots()
- ax.set_prop_cycle(cycler('color', ['r', 'g', 'y']))
-@@ -25,8 +24,7 @@ def test_colorcycle_basic():
- ax.legend(loc='upper left')
-
-
--(a)image_comparison(['marker_cycle.png', 'marker_cycle.png'],
remove_text=True,
-- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
-+(a)image_comparison(['marker_cycle.png', 'marker_cycle.png'],
remove_text=True)
- def test_marker_cycle():
- fig, ax = plt.subplots()
- ax.set_prop_cycle(cycler('c', ['r', 'g', 'y']) +
-@@ -58,8 +56,7 @@ def test_marker_cycle():
- ax.legend(loc='upper left')
-
-
--(a)image_comparison(['lineprop_cycle_basic.png'], remove_text=True,
-- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
-+(a)image_comparison(['lineprop_cycle_basic.png'], remove_text=True)
- 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 b5ca0ed5b..272fd6101 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(['figure_align_labels'],
-- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
-+@image_comparison(['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 93cfbb260..6dcdac4dd 100644
---- a/lib/matplotlib/tests/test_image.py
-+++ b/lib/matplotlib/tests/test_image.py
-@@ -928,7 +928,7 @@ def test_imshow_endianess():
-
-
- @image_comparison(['imshow_masked_interpolation'],
-- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
-+ tol=0.25,
- remove_text=True, style='mpl20')
- def test_imshow_masked_interpolation():
-
-diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py
-index 71499da44..42413a5c1 100644
---- a/lib/matplotlib/tests/test_legend.py
-+++ b/lib/matplotlib/tests/test_legend.py
-@@ -105,8 +105,7 @@ def test_multiple_keys():
- (p2, p1): HandlerTuple(ndivide=None, pad=0)})
-
-
--(a)image_comparison(['rgba_alpha.png'], remove_text=True,
-- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
-+(a)image_comparison(['rgba_alpha.png'], remove_text=True)
- def test_alpha_rgba():
- import matplotlib.pyplot as plt
-
-@@ -116,8 +115,7 @@ def test_alpha_rgba():
- leg.legendPatch.set_facecolor([1, 0, 0, 0.5])
-
-
--(a)image_comparison(['rcparam_alpha.png'], remove_text=True,
-- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
-+(a)image_comparison(['rcparam_alpha.png'], remove_text=True)
- def test_alpha_rcparam():
- import matplotlib.pyplot as plt
-
-@@ -144,8 +142,7 @@ def test_fancy():
- ncol=2, shadow=True, title="My legend", numpoints=1)
-
-
--@image_comparison(['framealpha'], remove_text=True,
-- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
-+@image_comparison(['framealpha'], remove_text=True)
- def test_framealpha():
- x = np.linspace(1, 100, 100)
- y = x
-diff --git a/lib/matplotlib/tests/test_mathtext.py
b/lib/matplotlib/tests/test_mathtext.py
-index 508e29fa0..f6862e631 100644
---- a/lib/matplotlib/tests/test_mathtext.py
-+++ b/lib/matplotlib/tests/test_mathtext.py
-@@ -172,7 +172,7 @@ def baseline_images(request, fontset, index):
- ['cm', 'stix', 'stixsans',
'dejavusans',
- 'dejavuserif'])
- @pytest.mark.parametrize('baseline_images', ['mathtext'],
indirect=True)
--@image_comparison(baseline_images=None)
-+@image_comparison(baseline_images=None, tol=0.31)
- def test_mathtext_rendering(baseline_images, fontset, index, test, recwarn):
- matplotlib.rcParams['mathtext.fontset'] = fontset
- fig = plt.figure(figsize=(5.25, 0.75))
-@@ -186,7 +186,7 @@ def test_mathtext_rendering(baseline_images, fontset, index, test,
recwarn):
- ['cm', 'stix', 'stixsans',
'dejavusans',
- 'dejavuserif'])
- @pytest.mark.parametrize('baseline_images', ['mathfont'],
indirect=True)
--@image_comparison(baseline_images=None, extensions=['png'])
-+@image_comparison(baseline_images=None, extensions=['png'], tol=0.3)
- def test_mathfont_rendering(baseline_images, fontset, index, test, recwarn):
- 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 c0eda5542..62670dbbf 100644
---- a/lib/matplotlib/tests/test_patches.py
-+++ b/lib/matplotlib/tests/test_patches.py
-@@ -257,8 +257,7 @@ def test_wedge_movement():
- assert getattr(w, attr) == new_v
-
-
--# png needs tol>=0.06, pdf tol>=1.617
--@image_comparison(['wedge_range'], remove_text=True, tol=1.65 if on_win else 0)
-+@image_comparison(['wedge_range'], remove_text=True)
- def test_wedge_range():
- ax = plt.axes()
-
-diff --git a/lib/matplotlib/tests/test_patheffects.py
b/lib/matplotlib/tests/test_patheffects.py
-index eddd1a3a1..f6993ec31 100644
---- a/lib/matplotlib/tests/test_patheffects.py
-+++ b/lib/matplotlib/tests/test_patheffects.py
-@@ -115,7 +115,7 @@ def test_SimplePatchShadow_offset():
- assert pe._offset == (4, 5)
-
-
--@image_comparison(['collection'], tol=0.02, style='mpl20')
-+@image_comparison(['collection'], tol=0.084, style='mpl20')
- 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 0fad3cdf2..aab0b29c6 100644
---- a/lib/matplotlib/tests/test_pickle.py
-+++ b/lib/matplotlib/tests/test_pickle.py
-@@ -41,7 +41,7 @@ def test_simple():
-
-
- @image_comparison(['multi_pickle.png'], remove_text=True,
style='mpl20',
-- tol={'aarch64': 0.082}.get(platform.machine(), 0.0))
-+ 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 719c8fbc1..fd28062e1 100644
---- a/lib/matplotlib/tests/test_quiver.py
-+++ b/lib/matplotlib/tests/test_quiver.py
-@@ -173,7 +173,7 @@ def test_quiver_key_xy():
- ax.quiverkey(q, X=x, Y=0.8, U=1, angle=angle, label='',
color='b')
-
-
--(a)image_comparison(['barbs_test_image.png'], remove_text=True)
-+(a)image_comparison(['barbs_test_image.png'], remove_text=True, tol=0.11)
- def test_barbs():
- 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 1afc60543..aa12ab5ea 100644
---- a/lib/matplotlib/tests/test_streamplot.py
-+++ b/lib/matplotlib/tests/test_streamplot.py
-@@ -40,7 +40,7 @@ def test_startpoints():
-
-
- @image_comparison(['streamplot_colormap'],
-- tol=.04, remove_text=True, style='mpl20')
-+ remove_text=True, style='mpl20')
- 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 f35467ee7..b3ca0c020 100644
---- a/lib/matplotlib/tests/test_transforms.py
-+++ b/lib/matplotlib/tests/test_transforms.py
-@@ -68,7 +68,7 @@ def test_external_transform_api():
-
-
- @image_comparison(['pre_transform_data'],
-- tol=0.08, remove_text=True, style='mpl20')
-+ tol=0.155, remove_text=True, style='mpl20')
- 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 f14425144..c1afffcaa 100644
---- a/lib/matplotlib/tests/test_units.py
-+++ b/lib/matplotlib/tests/test_units.py
-@@ -73,8 +73,7 @@ def quantity_converter():
-
- # Tests that the conversion machinery works properly for classes that
- # work as a facade over numpy arrays (like pint)
--(a)image_comparison(['plot_pint.png'], remove_text=False, style='mpl20',
-- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
-+(a)image_comparison(['plot_pint.png'], remove_text=False, style='mpl20')
- def test_numpy_facade(quantity_converter):
- # use former defaults to match existing baseline image
- plt.rcParams['axes.formatter.limits'] = -7, 7
-diff --git a/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py
b/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py
-index e69b63f99..0c2dd5660 100644
---- a/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py
-+++ b/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py
-@@ -18,7 +18,7 @@ def test_subplot():
- fig.add_subplot(ax)
-
-
--(a)image_comparison(['curvelinear3.png'], style='default', tol=0.01)
-+(a)image_comparison(['curvelinear3.png'], style='default', tol=0.02)
- def test_curvelinear3():
- fig = plt.figure(figsize=(5, 5))
-
-@@ -72,7 +72,7 @@ def test_curvelinear3():
- l.set_clip_path(ax1.patch)
-
-
--(a)image_comparison(['curvelinear4.png'], style='default', tol=0.015)
-+(a)image_comparison(['curvelinear4.png'], style='default', tol=0.055)
- def test_curvelinear4():
- # Remove this line when this test image is regenerated.
- plt.rcParams['text.kerning_factor'] = 6
-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 611908063..8add49b46 100644
---- a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py
-+++ b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py
-@@ -16,8 +16,7 @@ from mpl_toolkits.axisartist.grid_helper_curvelinear import \
- GridHelperCurveLinear
-
-
--(a)image_comparison(['custom_transform.png'], style='default',
-- tol={'aarch64': 0.034}.get(platform.machine(), 0.03))
-+(a)image_comparison(['custom_transform.png'], style='default', tol=0.035)
- def test_custom_transform():
- class MyTransform(Transform):
- input_dims = 2
-@@ -84,7 +83,7 @@ def test_custom_transform():
-
-
- @image_comparison(['polar_box.png'], style='default',
-- tol={'aarch64': 0.04}.get(platform.machine(), 0.03))
-+ tol=0.08)
- def test_polar_box():
- # Remove this line when this test image is regenerated.
- plt.rcParams['text.kerning_factor'] = 6
-@@ -147,7 +146,7 @@ def test_polar_box():
- ax1.grid(True)
-
-
--(a)image_comparison(['axis_direction.png'], style='default', tol=0.03)
-+(a)image_comparison(['axis_direction.png'], style='default', tol=0.05)
- def test_axis_direction():
- # Remove this line when this test image is regenerated.
- plt.rcParams['text.kerning_factor'] = 6
-diff --git a/lib/mpl_toolkits/tests/test_mplot3d.py
b/lib/mpl_toolkits/tests/test_mplot3d.py
-index 592096b74..69ac5a2b3 100644
---- a/lib/mpl_toolkits/tests/test_mplot3d.py
-+++ b/lib/mpl_toolkits/tests/test_mplot3d.py
-@@ -280,7 +280,7 @@ def test_text3d():
- ax.set_zlabel('Z axis')
-
-
--(a)image_comparison(['trisurf3d.png'], remove_text=True, tol=0.03)
-+(a)image_comparison(['trisurf3d.png'], remove_text=True, tol=0.05)
- def test_trisurf3d():
- n_angles = 36
- n_radii = 8
-@@ -756,7 +756,7 @@ class TestVoxels:
- assert voxels[coord], "faces returned for absent voxel"
- assert isinstance(poly, art3d.Poly3DCollection)
-
-- @image_comparison(['voxels-xyz.png'], tol=0.01)
-+ @image_comparison(['voxels-xyz.png'], tol=0.02)
- def test_xyz(self):
- fig, ax = plt.subplots(subplot_kw={"projection": "3d"})
-
---
-2.25.4
-
diff --git a/0004-Increase-some-tolerances-for-non-x86-arches.patch
b/0004-Increase-some-tolerances-for-non-x86-arches.patch
deleted file mode 100644
index c24bbf5..0000000
--- a/0004-Increase-some-tolerances-for-non-x86-arches.patch
+++ /dev/null
@@ -1,267 +0,0 @@
-From 91ef378043f12f16a9a1f03437d9f51220dff305 Mon Sep 17 00:00:00 2001
-From: Elliott Sales de Andrade <quantum.analyst(a)gmail.com>
-Date: Sat, 31 Mar 2018 00:33:37 -0400
-Subject: [PATCH 4/4] Increase some tolerances for non-x86 arches.
-
-Signed-off-by: Elliott Sales de Andrade <quantum.analyst(a)gmail.com>
----
- lib/matplotlib/tests/test_arrow_patches.py | 4 ++--
- lib/matplotlib/tests/test_axes.py | 4 ++--
- lib/matplotlib/tests/test_backends_interactive.py | 2 +-
- lib/matplotlib/tests/test_collections.py | 2 +-
- lib/matplotlib/tests/test_constrainedlayout.py | 3 ++-
- 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_streamplot.py | 2 +-
- lib/matplotlib/tests/test_units.py | 4 ++--
- .../tests/test_axisartist_grid_helper_curvelinear.py | 4 ++--
- 13 files changed, 22 insertions(+), 21 deletions(-)
-
-diff --git a/lib/matplotlib/tests/test_arrow_patches.py
b/lib/matplotlib/tests/test_arrow_patches.py
-index a9409e2c1..9627b3569 100644
---- a/lib/matplotlib/tests/test_arrow_patches.py
-+++ b/lib/matplotlib/tests/test_arrow_patches.py
-@@ -67,7 +67,7 @@ def __prepare_fancyarrow_dpi_cor_test():
-
-
- @image_comparison(['fancyarrow_dpi_cor_100dpi.png'], remove_text=True,
-- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
-+ tol=0.016,
- savefig_kwarg=dict(dpi=100))
- def test_fancyarrow_dpi_cor_100dpi():
- """
-@@ -82,7 +82,7 @@ def test_fancyarrow_dpi_cor_100dpi():
-
-
- @image_comparison(['fancyarrow_dpi_cor_200dpi.png'], remove_text=True,
-- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
-+ 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 b5bfc32c3..a956412d1 100644
---- a/lib/matplotlib/tests/test_axes.py
-+++ b/lib/matplotlib/tests/test_axes.py
-@@ -407,7 +407,7 @@ def test_annotate_default_arrow():
- assert ann.arrow_patch is not None
-
-
--@image_comparison(['polar_axes'], style='default')
-+@image_comparison(['polar_axes'], style='default', tol=0.01)
- def test_polar_annotations():
- # you can specify the xypoint and the xytext in different
- # positions and coordinate systems, and optionally turn on a
-@@ -3673,7 +3673,7 @@ def test_vertex_markers():
-
-
- @image_comparison(['vline_hline_zorder', 'errorbar_zorder'],
-- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
-+ tol=0.02)
- def test_eb_line_zorder():
- x = list(range(10))
-
-diff --git a/lib/matplotlib/tests/test_backends_interactive.py
b/lib/matplotlib/tests/test_backends_interactive.py
-index 7465bb919..8300ab627 100644
---- a/lib/matplotlib/tests/test_backends_interactive.py
-+++ b/lib/matplotlib/tests/test_backends_interactive.py
-@@ -126,7 +126,7 @@ if not backend.startswith('qt5') and sys.platform ==
'darwin':
- # not resize incorrectly.
- assert_equal(result.getvalue(), result_after.getvalue())
- """
--_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())
-diff --git a/lib/matplotlib/tests/test_collections.py
b/lib/matplotlib/tests/test_collections.py
-index 3f5b3bf1a..8c5549bad 100644
---- a/lib/matplotlib/tests/test_collections.py
-+++ b/lib/matplotlib/tests/test_collections.py
-@@ -439,7 +439,7 @@ def test_barb_limits():
-
-
- @image_comparison(['EllipseCollection_test_image.png'], remove_text=True,
-- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
-+ tol=0.012)
- def test_EllipseCollection():
- # Test basic functionality
- fig, ax = plt.subplots()
-diff --git a/lib/matplotlib/tests/test_constrainedlayout.py
b/lib/matplotlib/tests/test_constrainedlayout.py
-index 75311e70e..8de7b987d 100644
---- a/lib/matplotlib/tests/test_constrainedlayout.py
-+++ b/lib/matplotlib/tests/test_constrainedlayout.py
-@@ -164,7 +164,8 @@ def test_constrained_layout9():
- fig.suptitle('Test Suptitle', fontsize=28)
-
-
--(a)image_comparison(['constrained_layout10.png'])
-+(a)image_comparison(['constrained_layout10.png'],
-+ tol=0.01)
- def test_constrained_layout10():
- '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 ee67b4e41..c52a5b0f8 100644
---- a/lib/matplotlib/tests/test_cycles.py
-+++ b/lib/matplotlib/tests/test_cycles.py
-@@ -9,7 +9,7 @@ from cycler import cycler
-
-
- @image_comparison(['color_cycle_basic.png'], remove_text=True,
-- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
-+ tol=0.008)
- def test_colorcycle_basic():
- fig, ax = plt.subplots()
- ax.set_prop_cycle(cycler('color', ['r', 'g', 'y']))
-@@ -26,7 +26,7 @@ def test_colorcycle_basic():
-
-
- @image_comparison(['marker_cycle.png', 'marker_cycle.png'],
remove_text=True,
-- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
-+ tol=0.008)
- def test_marker_cycle():
- fig, ax = plt.subplots()
- ax.set_prop_cycle(cycler('c', ['r', 'g', 'y']) +
-@@ -59,7 +59,7 @@ def test_marker_cycle():
-
-
- @image_comparison(['lineprop_cycle_basic.png'], remove_text=True,
-- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
-+ 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 b5ca0ed5b..284cccb15 100644
---- a/lib/matplotlib/tests/test_figure.py
-+++ b/lib/matplotlib/tests/test_figure.py
-@@ -14,7 +14,7 @@ import pytest
-
-
- @image_comparison(['figure_align_labels'],
-- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
-+ 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 93cfbb260..122c884da 100644
---- a/lib/matplotlib/tests/test_image.py
-+++ b/lib/matplotlib/tests/test_image.py
-@@ -928,7 +928,7 @@ def test_imshow_endianess():
-
-
- @image_comparison(['imshow_masked_interpolation'],
-- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
-+ tol=0.006,
- remove_text=True, style='mpl20')
- def test_imshow_masked_interpolation():
-
-diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py
-index 71499da44..23cfcb873 100644
---- a/lib/matplotlib/tests/test_legend.py
-+++ b/lib/matplotlib/tests/test_legend.py
-@@ -106,7 +106,7 @@ def test_multiple_keys():
-
-
- @image_comparison(['rgba_alpha.png'], remove_text=True,
-- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
-+ tol=0.007)
- def test_alpha_rgba():
- import matplotlib.pyplot as plt
-
-@@ -117,7 +117,7 @@ def test_alpha_rgba():
-
-
- @image_comparison(['rcparam_alpha.png'], remove_text=True,
-- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
-+ tol=0.007)
- def test_alpha_rcparam():
- import matplotlib.pyplot as plt
-
-@@ -145,7 +145,7 @@ def test_fancy():
-
-
- @image_comparison(['framealpha'], remove_text=True,
-- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
-+ 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 0fad3cdf2..4d2599607 100644
---- a/lib/matplotlib/tests/test_pickle.py
-+++ b/lib/matplotlib/tests/test_pickle.py
-@@ -41,7 +41,7 @@ def test_simple():
-
-
- @image_comparison(['multi_pickle.png'], remove_text=True,
style='mpl20',
-- tol={'aarch64': 0.082}.get(platform.machine(), 0.0))
-+ tol=0.082)
- def test_complete():
- fig = plt.figure('Figure with a label?', figsize=(10, 6))
-
-diff --git a/lib/matplotlib/tests/test_streamplot.py
b/lib/matplotlib/tests/test_streamplot.py
-index 1afc60543..dcac38102 100644
---- a/lib/matplotlib/tests/test_streamplot.py
-+++ b/lib/matplotlib/tests/test_streamplot.py
-@@ -49,7 +49,7 @@ def test_colormap():
-
-
- @image_comparison(['streamplot_linewidth'], remove_text=True,
style='mpl20',
-- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
-+ tol=0.002)
- def test_linewidth():
- X, Y, U, V = velocity_field()
- speed = np.hypot(U, V)
-diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py
-index f14425144..fd8f26502 100644
---- a/lib/matplotlib/tests/test_units.py
-+++ b/lib/matplotlib/tests/test_units.py
-@@ -74,7 +74,7 @@ def quantity_converter():
- # Tests that the conversion machinery works properly for classes that
- # work as a facade over numpy arrays (like pint)
- @image_comparison(['plot_pint.png'], remove_text=False, style='mpl20',
-- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
-+ tol=0.003)
- def test_numpy_facade(quantity_converter):
- # use former defaults to match existing baseline image
- plt.rcParams['axes.formatter.limits'] = -7, 7
-@@ -101,7 +101,7 @@ def test_numpy_facade(quantity_converter):
-
- # Tests gh-8908
- @image_comparison(['plot_masked_units.png'], remove_text=True,
style='mpl20',
-- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
-+ tol=0.007)
- def test_plot_masked_units():
- data = np.linspace(-5, 5)
- data_masked = np.ma.array(data, mask=(data > -2) & (data < 2))
-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 611908063..be11d7c6b 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(['custom_transform.png'], style='default',
-- tol={'aarch64': 0.034}.get(platform.machine(), 0.03))
-+ tol=0.04)
- def test_custom_transform():
- class MyTransform(Transform):
- input_dims = 2
-@@ -84,7 +84,7 @@ def test_custom_transform():
-
-
- @image_comparison(['polar_box.png'], style='default',
-- tol={'aarch64': 0.04}.get(platform.machine(), 0.03))
-+ tol=0.04)
- def test_polar_box():
- # Remove this line when this test image is regenerated.
- plt.rcParams['text.kerning_factor'] = 6
---
-2.25.4
-
diff --git a/0004-Update-aarch64-tolerances.patch b/0004-Update-aarch64-tolerances.patch
new file mode 100644
index 0000000..4010ba7
--- /dev/null
+++ b/0004-Update-aarch64-tolerances.patch
@@ -0,0 +1,223 @@
+From 954ebfd469a0979e0817db96760ea1f5542f2729 Mon Sep 17 00:00:00 2001
+From: Elliott Sales de Andrade <quantum.analyst(a)gmail.com>
+Date: Mon, 29 Jun 2020 03:49:29 -0400
+Subject: [PATCH 4/6] Update aarch64 tolerances.
+
+Signed-off-by: Elliott Sales de Andrade <quantum.analyst(a)gmail.com>
+---
+ lib/matplotlib/tests/test_backend_pgf.py | 6 +-----
+ lib/matplotlib/tests/test_collections.py | 4 +---
+ lib/matplotlib/tests/test_contour.py | 4 +++-
+ lib/matplotlib/tests/test_figure.py | 2 +-
+ lib/matplotlib/tests/test_image.py | 2 +-
+ lib/matplotlib/tests/test_legend.py | 4 ++--
+ lib/matplotlib/tests/test_patheffects.py | 2 +-
+ lib/matplotlib/tests/test_polar.py | 5 ++++-
+ lib/matplotlib/tests/test_streamplot.py | 4 +---
+ lib/matplotlib/tests/test_units.py | 4 ++--
+ lib/mpl_toolkits/tests/test_axes_grid1.py | 2 +-
+ 11 files changed, 18 insertions(+), 21 deletions(-)
+
+diff --git a/lib/matplotlib/tests/test_backend_pgf.py
b/lib/matplotlib/tests/test_backend_pgf.py
+index 2d125ad29..702cc6c35 100644
+--- a/lib/matplotlib/tests/test_backend_pgf.py
++++ b/lib/matplotlib/tests/test_backend_pgf.py
+@@ -8,7 +8,6 @@ from tempfile import TemporaryDirectory
+
+ import numpy as np
+ import pytest
+-import platform
+
+ import matplotlib as mpl
+ import matplotlib.pyplot as plt
+@@ -179,10 +178,7 @@ def test_pathclip():
+ # test mixed mode rendering
+ @needs_xelatex
+ @pytest.mark.backend('pgf')
+-(a)image_comparison(['pgf_mixedmode.pdf'], style='default',
+- tol={'aarch64': 1.086, 'x86_64': 1.086}.get(
+- platform.machine(), 0.0
+- ))
++(a)image_comparison(['pgf_mixedmode.pdf'], style='default')
+ def test_mixedmode():
+ rc_xelatex = {'font.family': 'serif',
+ 'pgf.rcfonts': False}
+diff --git a/lib/matplotlib/tests/test_collections.py
b/lib/matplotlib/tests/test_collections.py
+index 77f6e1884..d457fe372 100644
+--- a/lib/matplotlib/tests/test_collections.py
++++ b/lib/matplotlib/tests/test_collections.py
+@@ -1,5 +1,4 @@
+ import io
+-import platform
+ from types import SimpleNamespace
+
+ import numpy as np
+@@ -334,8 +333,7 @@ def test_barb_limits():
+ decimal=1)
+
+
+-(a)image_comparison(['EllipseCollection_test_image.png'], remove_text=True,
+- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
++(a)image_comparison(['EllipseCollection_test_image.png'], remove_text=True)
+ def test_EllipseCollection():
+ # Test basic functionality
+ fig, ax = plt.subplots()
+diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py
+index 1a1c5f442..e233a2b79 100644
+--- a/lib/matplotlib/tests/test_contour.py
++++ b/lib/matplotlib/tests/test_contour.py
+@@ -1,4 +1,5 @@
+ import datetime
++import platform
+ import re
+
+ import numpy as np
+@@ -189,7 +190,8 @@ def test_contour_datetime_axis():
+
+
+ @image_comparison(['contour_test_label_transforms.png'],
+- remove_text=True, style='mpl20')
++ remove_text=True, style='mpl20',
++ tol={'aarch64': 0.08}.get(platform.machine(), 0))
+ def test_labels():
+ # Adapted from pylab_examples example code: contour_demo.py
+ # see issues #2475, #2843, and #2818 for explanation
+diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py
+index bb1623509..2340f2199 100644
+--- a/lib/matplotlib/tests/test_figure.py
++++ b/lib/matplotlib/tests/test_figure.py
+@@ -22,7 +22,7 @@ import pytest
+
+
+ @image_comparison(['figure_align_labels'],
+- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
++ tol={'aarch64': 0.01}.get(platform.machine(), 0))
+ def test_align_labels():
+ fig = plt.figure(tight_layout=True)
+ gs = gridspec.GridSpec(3, 3)
+diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py
+index b5fd6e6fe..d07b80bef 100644
+--- a/lib/matplotlib/tests/test_image.py
++++ b/lib/matplotlib/tests/test_image.py
+@@ -861,7 +861,7 @@ def test_imshow_endianess():
+
+
+ @image_comparison(['imshow_masked_interpolation'],
+- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
++ tol={'aarch64': 0.01}.get(platform.machine(), 0),
+ remove_text=True, style='mpl20')
+ def test_imshow_masked_interpolation():
+
+diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py
+index df09a884b..b6ccb28dd 100644
+--- a/lib/matplotlib/tests/test_legend.py
++++ b/lib/matplotlib/tests/test_legend.py
+@@ -105,7 +105,7 @@ def test_multiple_keys():
+
+
+ @image_comparison(['rgba_alpha.png'], remove_text=True,
+- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
++ tol={'aarch64': 0.01}.get(platform.machine(), 0))
+ def test_alpha_rgba():
+ fig, ax = plt.subplots(1, 1)
+ ax.plot(range(10), lw=5)
+@@ -114,7 +114,7 @@ def test_alpha_rgba():
+
+
+ @image_comparison(['rcparam_alpha.png'], remove_text=True,
+- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
++ tol={'aarch64': 0.01}.get(platform.machine(), 0))
+ def test_alpha_rcparam():
+ fig, ax = plt.subplots(1, 1)
+ ax.plot(range(10), lw=5)
+diff --git a/lib/matplotlib/tests/test_patheffects.py
b/lib/matplotlib/tests/test_patheffects.py
+index d8c54e770..77b6ae314 100644
+--- a/lib/matplotlib/tests/test_patheffects.py
++++ b/lib/matplotlib/tests/test_patheffects.py
+@@ -115,7 +115,7 @@ def test_SimplePatchShadow_offset():
+ assert pe._offset == (4, 5)
+
+
+-@image_comparison(['collection'], tol=0.02, style='mpl20')
++@image_comparison(['collection'], tol=0.03, style='mpl20')
+ 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_polar.py b/lib/matplotlib/tests/test_polar.py
+index 3594a9224..7b5fd6af9 100644
+--- a/lib/matplotlib/tests/test_polar.py
++++ b/lib/matplotlib/tests/test_polar.py
+@@ -1,3 +1,5 @@
++import platform
++
+ import numpy as np
+ from numpy.testing import assert_allclose
+ import pytest
+@@ -7,7 +9,8 @@ from matplotlib import pyplot as plt
+ from matplotlib.testing.decorators import image_comparison, check_figures_equal
+
+
+-@image_comparison(['polar_axes'], style='default')
++@image_comparison(['polar_axes'], style='default',
++ tol={'aarch64': 0.01}.get(platform.machine(), 0))
+ def test_polar_annotations():
+ # You can specify the xypoint and the xytext in different positions and
+ # coordinate systems, and optionally turn on a connecting line and mark the
+diff --git a/lib/matplotlib/tests/test_streamplot.py
b/lib/matplotlib/tests/test_streamplot.py
+index d2218f6f2..2e795c2a3 100644
+--- a/lib/matplotlib/tests/test_streamplot.py
++++ b/lib/matplotlib/tests/test_streamplot.py
+@@ -1,5 +1,4 @@
+ import sys
+-import platform
+
+ import numpy as np
+ from numpy.testing import assert_array_almost_equal
+@@ -48,8 +47,7 @@ def test_colormap():
+ plt.colorbar()
+
+
+-@image_comparison(['streamplot_linewidth'], remove_text=True,
style='mpl20',
+- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
++@image_comparison(['streamplot_linewidth'], remove_text=True,
style='mpl20')
+ def test_linewidth():
+ X, Y, U, V = velocity_field()
+ speed = np.hypot(U, V)
+diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py
+index 25396ff0f..137b12aa9 100644
+--- a/lib/matplotlib/tests/test_units.py
++++ b/lib/matplotlib/tests/test_units.py
+@@ -74,7 +74,7 @@ def quantity_converter():
+ # Tests that the conversion machinery works properly for classes that
+ # work as a facade over numpy arrays (like pint)
+ @image_comparison(['plot_pint.png'], remove_text=False, style='mpl20',
+- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
++ tol={'aarch64': 0.01}.get(platform.machine(), 0))
+ def test_numpy_facade(quantity_converter):
+ # use former defaults to match existing baseline image
+ plt.rcParams['axes.formatter.limits'] = -7, 7
+@@ -101,7 +101,7 @@ def test_numpy_facade(quantity_converter):
+
+ # Tests gh-8908
+ @image_comparison(['plot_masked_units.png'], remove_text=True,
style='mpl20',
+- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
++ tol={'aarch64': 0.01}.get(platform.machine(), 0))
+ def test_plot_masked_units():
+ data = np.linspace(-5, 5)
+ data_masked = np.ma.array(data, mask=(data > -2) & (data < 2))
+diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py
b/lib/mpl_toolkits/tests/test_axes_grid1.py
+index 0aa2c7600..30ea87445 100644
+--- a/lib/mpl_toolkits/tests/test_axes_grid1.py
++++ b/lib/mpl_toolkits/tests/test_axes_grid1.py
+@@ -331,7 +331,7 @@ def test_zooming_with_inverted_axes():
+
+
+ @image_comparison(['anchored_direction_arrows.png'],
+- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
++ tol={'aarch64': 0.01}.get(platform.machine(), 0))
+ def test_anchored_direction_arrows():
+ fig, ax = plt.subplots()
+ ax.imshow(np.zeros((10, 10)), interpolation='nearest')
+--
+2.25.4
+
diff --git a/0005-Increase-tolerance-for-ppc64le-and-s390x.patch
b/0005-Increase-tolerance-for-ppc64le-and-s390x.patch
new file mode 100644
index 0000000..75eb308
--- /dev/null
+++ b/0005-Increase-tolerance-for-ppc64le-and-s390x.patch
@@ -0,0 +1,219 @@
+From efd56e93d7e8f6a63d734f98c6110795dd914418 Mon Sep 17 00:00:00 2001
+From: Elliott Sales de Andrade <quantum.analyst(a)gmail.com>
+Date: Mon, 29 Jun 2020 17:29:56 -0400
+Subject: [PATCH 5/6] Increase tolerance for ppc64le and s390x.
+
+These are mostly the same as the aarch64 increased tolerances.
+
+Signed-off-by: Elliott Sales de Andrade <quantum.analyst(a)gmail.com>
+---
+ lib/matplotlib/tests/test_arrow_patches.py | 6 ++++--
+ lib/matplotlib/tests/test_axes.py | 3 ++-
+ lib/matplotlib/tests/test_contour.py | 3 ++-
+ lib/matplotlib/tests/test_figure.py | 3 ++-
+ lib/matplotlib/tests/test_image.py | 3 ++-
+ lib/matplotlib/tests/test_legend.py | 9 ++++++---
+ lib/matplotlib/tests/test_pickle.py | 3 ++-
+ lib/matplotlib/tests/test_polar.py | 3 ++-
+ lib/matplotlib/tests/test_units.py | 6 ++++--
+ lib/mpl_toolkits/tests/test_axes_grid1.py | 3 ++-
+ .../tests/test_axisartist_grid_helper_curvelinear.py | 3 ++-
+ 11 files changed, 30 insertions(+), 15 deletions(-)
+
+diff --git a/lib/matplotlib/tests/test_arrow_patches.py
b/lib/matplotlib/tests/test_arrow_patches.py
+index 2218a2e7f..037558c02 100644
+--- a/lib/matplotlib/tests/test_arrow_patches.py
++++ b/lib/matplotlib/tests/test_arrow_patches.py
+@@ -67,7 +67,8 @@ def __prepare_fancyarrow_dpi_cor_test():
+
+
+ @image_comparison(['fancyarrow_dpi_cor_100dpi.png'], remove_text=True,
+- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
++ tol={'aarch64': 0.02, 'ppc64le': 0.02,
++ 's390x': 0.02}.get(platform.machine(), 0),
+ savefig_kwarg=dict(dpi=100))
+ def test_fancyarrow_dpi_cor_100dpi():
+ """
+@@ -82,7 +83,8 @@ def test_fancyarrow_dpi_cor_100dpi():
+
+
+ @image_comparison(['fancyarrow_dpi_cor_200dpi.png'], remove_text=True,
+- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
++ tol={'aarch64': 0.02, 'ppc64le': 0.02,
++ 's390x': 0.02}.get(platform.machine(), 0),
+ 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 107936d19..48cfdf582 100644
+--- a/lib/matplotlib/tests/test_axes.py
++++ b/lib/matplotlib/tests/test_axes.py
+@@ -3705,7 +3705,8 @@ def test_vertex_markers():
+
+
+ @image_comparison(['vline_hline_zorder', 'errorbar_zorder'],
+- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
++ tol={'aarch64': 0.02, 'ppc64le': 0.02,
++ 's390x': 0.02}.get(platform.machine(), 0))
+ def test_eb_line_zorder():
+ x = list(range(10))
+
+diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py
+index e233a2b79..178c7abb3 100644
+--- a/lib/matplotlib/tests/test_contour.py
++++ b/lib/matplotlib/tests/test_contour.py
+@@ -191,7 +191,8 @@ def test_contour_datetime_axis():
+
+ @image_comparison(['contour_test_label_transforms.png'],
+ remove_text=True, style='mpl20',
+- tol={'aarch64': 0.08}.get(platform.machine(), 0))
++ tol={'aarch64': 0.08, 'ppc64le': 0.08,
++ 's390x': 0.08}.get(platform.machine(), 0))
+ def test_labels():
+ # Adapted from pylab_examples example code: contour_demo.py
+ # see issues #2475, #2843, and #2818 for explanation
+diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py
+index 2340f2199..ff375e4bf 100644
+--- a/lib/matplotlib/tests/test_figure.py
++++ b/lib/matplotlib/tests/test_figure.py
+@@ -22,7 +22,8 @@ import pytest
+
+
+ @image_comparison(['figure_align_labels'],
+- tol={'aarch64': 0.01}.get(platform.machine(), 0))
++ tol={'aarch64': 0.01, 'ppc64le': 0.01,
++ 's390x': 0.01}.get(platform.machine(), 0))
+ def test_align_labels():
+ fig = plt.figure(tight_layout=True)
+ gs = gridspec.GridSpec(3, 3)
+diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py
+index d07b80bef..a6cecc28c 100644
+--- a/lib/matplotlib/tests/test_image.py
++++ b/lib/matplotlib/tests/test_image.py
+@@ -861,7 +861,8 @@ def test_imshow_endianess():
+
+
+ @image_comparison(['imshow_masked_interpolation'],
+- tol={'aarch64': 0.01}.get(platform.machine(), 0),
++ tol={'aarch64': 0.01, 'ppc64le': 0.01,
++ 's390x': 0.01}.get(platform.machine(), 0),
+ remove_text=True, style='mpl20')
+ def test_imshow_masked_interpolation():
+
+diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py
+index b6ccb28dd..24d267405 100644
+--- a/lib/matplotlib/tests/test_legend.py
++++ b/lib/matplotlib/tests/test_legend.py
+@@ -105,7 +105,8 @@ def test_multiple_keys():
+
+
+ @image_comparison(['rgba_alpha.png'], remove_text=True,
+- tol={'aarch64': 0.01}.get(platform.machine(), 0))
++ tol={'aarch64': 0.01, 'ppc64le': 0.01,
++ 's390x': 0.01}.get(platform.machine(), 0))
+ def test_alpha_rgba():
+ fig, ax = plt.subplots(1, 1)
+ ax.plot(range(10), lw=5)
+@@ -114,7 +115,8 @@ def test_alpha_rgba():
+
+
+ @image_comparison(['rcparam_alpha.png'], remove_text=True,
+- tol={'aarch64': 0.01}.get(platform.machine(), 0))
++ tol={'aarch64': 0.01, 'ppc64le': 0.01,
++ 's390x': 0.01}.get(platform.machine(), 0))
+ def test_alpha_rcparam():
+ fig, ax = plt.subplots(1, 1)
+ ax.plot(range(10), lw=5)
+@@ -140,7 +142,8 @@ def test_fancy():
+
+
+ @image_comparison(['framealpha'], remove_text=True,
+- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
++ tol={'aarch64': 0.02, 'ppc64le': 0.02,
++ 's390x': 0.02}.get(platform.machine(), 0))
+ 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 6a78526b5..864853bba 100644
+--- a/lib/matplotlib/tests/test_pickle.py
++++ b/lib/matplotlib/tests/test_pickle.py
+@@ -41,7 +41,8 @@ def test_simple():
+
+
+ @image_comparison(['multi_pickle.png'], remove_text=True,
style='mpl20',
+- tol={'aarch64': 0.082}.get(platform.machine(), 0.0))
++ tol={'aarch64': 0.082, 'ppc64le': 0.082,
++ 's390x': 0.082}.get(platform.machine(), 0))
+ def test_complete():
+ fig = plt.figure('Figure with a label?', figsize=(10, 6))
+
+diff --git a/lib/matplotlib/tests/test_polar.py b/lib/matplotlib/tests/test_polar.py
+index 7b5fd6af9..9f94f84cd 100644
+--- a/lib/matplotlib/tests/test_polar.py
++++ b/lib/matplotlib/tests/test_polar.py
+@@ -10,7 +10,8 @@ from matplotlib.testing.decorators import image_comparison,
check_figures_equal
+
+
+ @image_comparison(['polar_axes'], style='default',
+- tol={'aarch64': 0.01}.get(platform.machine(), 0))
++ tol={'aarch64': 0.01, 'ppc64le': 0.01,
++ 's390x': 0.01}.get(platform.machine(), 0))
+ def test_polar_annotations():
+ # You can specify the xypoint and the xytext in different positions and
+ # coordinate systems, and optionally turn on a connecting line and mark the
+diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py
+index 137b12aa9..b7b3197ac 100644
+--- a/lib/matplotlib/tests/test_units.py
++++ b/lib/matplotlib/tests/test_units.py
+@@ -74,7 +74,8 @@ def quantity_converter():
+ # Tests that the conversion machinery works properly for classes that
+ # work as a facade over numpy arrays (like pint)
+ @image_comparison(['plot_pint.png'], remove_text=False, style='mpl20',
+- tol={'aarch64': 0.01}.get(platform.machine(), 0))
++ tol={'aarch64': 0.01, 'ppc64le': 0.01,
++ 's390x': 0.01}.get(platform.machine(), 0))
+ def test_numpy_facade(quantity_converter):
+ # use former defaults to match existing baseline image
+ plt.rcParams['axes.formatter.limits'] = -7, 7
+@@ -101,7 +102,8 @@ def test_numpy_facade(quantity_converter):
+
+ # Tests gh-8908
+ @image_comparison(['plot_masked_units.png'], remove_text=True,
style='mpl20',
+- tol={'aarch64': 0.01}.get(platform.machine(), 0))
++ tol={'aarch64': 0.01, 'ppc64le': 0.01,
++ 's390x': 0.01}.get(platform.machine(), 0))
+ def test_plot_masked_units():
+ data = np.linspace(-5, 5)
+ data_masked = np.ma.array(data, mask=(data > -2) & (data < 2))
+diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py
b/lib/mpl_toolkits/tests/test_axes_grid1.py
+index 30ea87445..fd8b9632f 100644
+--- a/lib/mpl_toolkits/tests/test_axes_grid1.py
++++ b/lib/mpl_toolkits/tests/test_axes_grid1.py
+@@ -331,7 +331,8 @@ def test_zooming_with_inverted_axes():
+
+
+ @image_comparison(['anchored_direction_arrows.png'],
+- tol={'aarch64': 0.01}.get(platform.machine(), 0))
++ tol={'aarch64': 0.01, 'ppc64le': 0.01,
++ 's390x': 0.01}.get(platform.machine(), 0))
+ def test_anchored_direction_arrows():
+ fig, ax = plt.subplots()
+ ax.imshow(np.zeros((10, 10)), interpolation='nearest')
+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 bed21a640..d9b3b9b8b 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,8 @@ from mpl_toolkits.axisartist.grid_helper_curvelinear import \
+
+
+ @image_comparison(['custom_transform.png'], style='default',
+- tol={'aarch64': 0.034}.get(platform.machine(), 0.03))
++ tol={'aarch64': 0.034, 'ppc64le': 0.034,
++ 's390x': 0.034}.get(platform.machine(), 0.03))
+ def test_custom_transform():
+ class MyTransform(Transform):
+ input_dims = output_dims = 2
+--
+2.25.4
+
diff --git a/0006-Fix-running-contour-s-test_internal_cpp_api-directly.patch
b/0006-Fix-running-contour-s-test_internal_cpp_api-directly.patch
new file mode 100644
index 0000000..3e2c756
--- /dev/null
+++ b/0006-Fix-running-contour-s-test_internal_cpp_api-directly.patch
@@ -0,0 +1,63 @@
+From 717fb2ce07ac66794df6b4e1833e14d2c8036233 Mon Sep 17 00:00:00 2001
+From: Elliott Sales de Andrade <quantum.analyst(a)gmail.com>
+Date: Mon, 29 Jun 2020 17:35:37 -0400
+Subject: [PATCH 6/6] Fix running contour's test_internal_cpp_api directly.
+
+The `matplotlib._contour` module is lazily loaded, so using it directly
+(as done in this test) may fail if something else doesn't load it. This
+test would fail if it was the first contour-related test run in a
+process (if testing in parallel), or if just called as the only test,
+i.e., this commit fixes:
+```
+$ pytest -k test_internal_cpp_api lib/matplotlib/tests/test_contour.py
+__________ test_internal_cpp_api[args0-TypeError-function takes exactly 6 arguments (0
given)] __________
+
+args = (), cls = <class 'TypeError'>, message = 'function takes exactly
6 arguments (0 given)'
+
+ @pytest.mark.parametrize("args, cls, message", [
+ ((), TypeError,
+ 'function takes exactly 6 arguments (0 given)'),
+ ((1, 2, 3, 4, 5, 6), ValueError,
+ 'Expected 2-dimensional array, got 0'),
+ (([[0]], [[0]], [[]], None, True, 0), ValueError,
+ 'x, y and z must all be 2D arrays with the same dimensions'),
+ (([[0]], [[0]], [[0]], None, True, 0), ValueError,
+ 'x, y and z must all be at least 2x2 arrays'),
+ ((*[np.arange(4).reshape((2, 2))] * 3, [[0]], True, 0), ValueError,
+ 'If mask is set it must be a 2D array with the same dimensions as x.'),
+ ])
+ def test_internal_cpp_api(args, cls, message): # Github issue 8197.
+ with pytest.raises(cls, match=re.escape(message)):
+> mpl._contour.QuadContourGenerator(*args)
+E AttributeError: module 'matplotlib' has no attribute
'_contour'
+
+lib/matplotlib/tests/test_contour.py:269: AttributeError
+
+This is a corollary to b672f68f89fb0d3a90a15571f0c1810fe93724ce for tri.
+
+Signed-off-by: Elliott Sales de Andrade <quantum.analyst(a)gmail.com>
+---
+ lib/matplotlib/tests/test_contour.py | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py
+index 178c7abb3..7c3337fea 100644
+--- a/lib/matplotlib/tests/test_contour.py
++++ b/lib/matplotlib/tests/test_contour.py
+@@ -268,11 +268,13 @@ def test_contourf_symmetric_locator():
+ 'If mask is set it must be a 2D array with the same dimensions as x.'),
+ ])
+ def test_internal_cpp_api(args, cls, message): # Github issue 8197.
++ from matplotlib import _contour # noqa: ensure lazy-loaded module *is* loaded.
+ with pytest.raises(cls, match=re.escape(message)):
+ mpl._contour.QuadContourGenerator(*args)
+
+
+ def test_internal_cpp_api_2():
++ from matplotlib import _contour # noqa: ensure lazy-loaded module *is* loaded.
+ arr = [[0, 1], [2, 3]]
+ qcg = mpl._contour.QuadContourGenerator(arr, arr, arr, None, True, 0)
+ with pytest.raises(
+--
+2.25.4
+
diff --git a/python-matplotlib.spec b/python-matplotlib.spec
index cd37359..9588a6f 100644
--- a/python-matplotlib.spec
+++ b/python-matplotlib.spec
@@ -34,31 +34,23 @@
# Use the same directory of the main package for subpackage licence and docs
%global _docdir_fmt %{name}
-#global rctag rc2
-
# Updated test images for new FreeType.
-%global mpl_images_version 3.2.2
+%global mpl_images_version 3.3.0rc1
# The version of FreeType in this Fedora branch.
%global ftver 2.10.1
Name: python-matplotlib
-Version: 3.2.2
-Release: 1%{?rctag:.%{rctag}}%{?dist}
+Version: 3.3.0
+%global Version 3.3.0rc1
+Release: 0.1.rc1%{?dist}
Summary: Python 2D plotting library
# qt4_editor backend is MIT
License: Python and MIT
URL:
http://matplotlib.org
-Source0:
https://github.com/matplotlib/matplotlib/archive/v%{version}%{?rctag}/mat...
+Source0:
https://github.com/matplotlib/matplotlib/archive/v%{Version}/matplotlib-%...
Source1: setup.cfg
-# Because the qhull package stopped shipping pkgconfig files.
-#
https://src.fedoraproject.org/rpms/qhull/pull-request/1
-Patch0001: 0001-Force-using-system-qhull.patch
-
-# Don't attempt to download jQuery and jQuery UI
-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
@@ -68,12 +60,13 @@ Source1000:
https://github.com/QuLogic/mpl-images/archive/v%{mpl_images_vers
Patch1001: 0001-matplotlibrc-path-search-fix.patch
# Increase tolerances for new FreeType everywhere:
Patch1002: 0002-Set-FreeType-version-to-%{ftver}-and-update-tolerances.patch
-# Image tolerances for anything but x86_64:
-Patch1003: 0003-Increase-tolerances-for-non-x86_64-arches.patch
-# Image tolerances for 32-bit systems: i686 armv7hl
-Patch1004: 0004-Increase-some-tolerances-for-32-bit-systems.patch
-# Image tolerances for 64-bit (but not x86_64) systems: aarch64 ppc64(le) s390x
-Patch1005: 0004-Increase-some-tolerances-for-non-x86-arches.patch
+
+#
https://github.com/matplotlib/matplotlib/pull/17800
+Patch0001: 0003-Increase-default-tolerance-slightly-for-32-bit-syste.patch
+Patch0002: 0004-Update-aarch64-tolerances.patch
+Patch0003: 0005-Increase-tolerance-for-ppc64le-and-s390x.patch
+#
https://github.com/matplotlib/matplotlib/pull/17797
+Patch0004: 0006-Fix-running-contour-s-test_internal_cpp_api-directly.patch
BuildRequires: gcc
BuildRequires: gcc-c++
@@ -195,6 +188,7 @@ BuildRequires: python3-pytest
BuildRequires: python3-pytest-rerunfailures
BuildRequires: python3-pytest-timeout
BuildRequires: python3-pytest-xdist
+BuildRequires: python3-pikepdf
%endif
Requires: python3-numpy
Recommends: python3-pillow
@@ -300,30 +294,23 @@ Requires: python3-matplotlib%{?_isa} = %{version}-%{release}
%prep
-%autosetup -n matplotlib-%{version}%{?rctag} -N
-%patch0001 -p1
-
-%patch0002 -p1
+%autosetup -n matplotlib-%{Version} -N
# Fedora-specific patches follow:
%patch1001 -p1
# Updated test images for new FreeType.
%patch1002 -p1
-gzip -dc %SOURCE1000 | tar xvf -
--transform='s~^mpl-images-%{mpl_images_version}-with-freetype-%{ftver}/\([^/]\+\)/~lib/\1/tests/baseline_images/~'
-%ifnarch x86_64
-%patch1003 -p1
-%endif
-%ifarch aarch64 ppc64 ppc64le s390x
-%patch1005 -p1
-%endif
-%ifarch i686 armv7hl
-%patch1004 -p1
-%endif
+gzip -dc %SOURCE1000 | tar xf -
--transform='s~^mpl-images-%{mpl_images_version}-with-freetype-%{ftver}/\([^/]\+\)/~lib/\1/tests/baseline_images/~'
rm -r extern/libqhull
# Copy setup.cfg to the builddir
cp -p %{SOURCE1} setup.cfg
+%patch0001 -p1
+%patch0002 -p1
+%patch0003 -p1
+%patch0004 -p1
+
%build
%set_build_flags
@@ -348,10 +335,7 @@ export http_proxy=http://127.0.0.1/
MPLCONFIGDIR=$PWD \
%{__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}
@@ -370,11 +354,10 @@ export http_proxy=http://127.0.0.1/
# * wxagg is broken on ppc64le:
#
https://bugzilla.redhat.com/show_bug.cgi?id=1738752
MPLCONFIGDIR=$PWD \
-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) \
+ %{python3} tests.py -ra -n $(getconf _NPROCESSORS_ONLN) \
-m 'not network' \
%ifarch ppc64le
-k 'not test_invisible_Line_rendering and not Qt5Agg and not wxagg'
@@ -383,16 +366,14 @@ PYTHONDONTWRITEBYTECODE=1 \
%endif
# Run Qt5Agg tests separately to not conflict with Qt4 tests.
MPLCONFIGDIR=$PWD \
-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) \
+ %{python3} tests.py -ra -n $(getconf _NPROCESSORS_ONLN) \
-m 'not network' -k 'Qt5Agg'
%endif
%files -n python3-matplotlib-data
-%{_sysconfdir}/matplotlibrc
%{_datadir}/matplotlib/mpl-data/
%if %{with_bundled_fonts}
%exclude %{_datadir}/matplotlib/mpl-data/fonts/
@@ -470,6 +451,9 @@ PYTHONDONTWRITEBYTECODE=1 \
%changelog
+* Mon Jun 29 2020 Elliott Sales de Andrade <quantum.analyst(a)gmail.com> -
3.3.0-0.1.rc1
+- Update to latest version
+
* Sat Jun 20 2020 Elliott Sales de Andrade <quantum.analyst(a)gmail.com> - 3.2.2-1
- Update to latest version
diff --git a/setup.cfg b/setup.cfg
index 1ea1a4f..362e6ab 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -1,3 +1,7 @@
+[libs]
+system_freetype = True
+system_qhull = True
+
[packages]
tests = True
toolkits = True
diff --git a/sources b/sources
index 5596ced..12cab17 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-SHA512 (matplotlib-3.2.2.tar.gz) =
4c9312e929357a7c73ead51fa1a679c04b2b9735edfe0f1a2d08a07ec4d94d67df4ff6e8c6d594665a3b270cd3033c48ea8f2aa50fb1e2746812f24c27181f59
-SHA512 (matplotlib-3.2.2-with-freetype-2.10.1.tar.gz) =
498fb1224f74c5254e3a2620d4d36571ed712a7ac261bcb4b2a548ea57d6b7431634dfad547b529d6fa1a3fab90e6b489150afe815485a3030d1e899edfd9be8
+SHA512 (matplotlib-3.3.0rc1.tar.gz) =
f47e5473a152d87c5d2e707394f3ccf050b185e1f318ff7141e3ff0a013cb896ddbb6a1164d00b3201ea0d403c71a418c6c5dbaecd413bb9c5c28c8ff73affd0
+SHA512 (matplotlib-3.3.0rc1-with-freetype-2.10.1.tar.gz) =
ed7448325e1e29bbb8abbef39944afb8c15250bc0c0ed2f8739156c83318bd5931012360779e1375bc7f020662739bb7a47c16822a1575439aee75579b526060
commit 02546b29b2e003426b62f0ccde344c29b45709a6
Author: Elliott Sales de Andrade <quantum.analyst(a)gmail.com>
Date: Sat Jun 20 05:02:11 2020 -0400
Make texlive dependencies more explicit.
diff --git a/python-matplotlib.spec b/python-matplotlib.spec
index 1b95427..cd37359 100644
--- a/python-matplotlib.spec
+++ b/python-matplotlib.spec
@@ -84,24 +84,50 @@ BuildRequires: qhull-devel
BuildRequires: xorg-x11-server-Xvfb
BuildRequires: zlib-devel
+BuildRequires: texlive-latex-bin
+BuildRequires: texlive-tex-bin
+BuildRequires: texlive-xetex-bin
+# Search for documentclass and add the classes here.
+BuildRequires: tex(article.cls)
+BuildRequires: tex(minimal.cls)
+# Search for inputenc and add any encodings used with it.
+BuildRequires: tex(utf8.def)
BuildRequires: tex(utf8x.def)
+# Found with: rg -Io 'usepackage(\[.+\])?\{.+\}' lib | rg -o '\{.+\}' |
sort -u
+# and then removing duplicates in one line, etc.
BuildRequires: tex(avant.sty)
+BuildRequires: tex(bm.sty)
BuildRequires: tex(chancery.sty)
BuildRequires: tex(charter.sty)
+BuildRequires: tex(color.sty)
BuildRequires: tex(courier.sty)
+BuildRequires: tex(euler.sty)
+BuildRequires: tex(fontenc.sty)
+BuildRequires: tex(fontspec.sty)
BuildRequires: tex(geometry.sty)
+BuildRequires: tex(graphicx.sty)
BuildRequires: tex(helvet.sty)
+BuildRequires: tex(import.sty)
BuildRequires: tex(inputenc.sty)
BuildRequires: tex(mathpazo.sty)
BuildRequires: tex(mathptmx.sty)
+BuildRequires: tex(pgf.sty)
BuildRequires: tex(preview.sty)
+BuildRequires: tex(psfrag.sty)
BuildRequires: tex(sfmath.sty)
BuildRequires: tex(textcomp.sty)
BuildRequires: tex(txfonts.sty)
+BuildRequires: tex(type1cm.sty)
BuildRequires: tex(type1ec.sty)
+BuildRequires: tex(unicode-math.sty)
+# See BakomaFonts._fontmap in lib/matplotlib/mathtext.py
+BuildRequires: tex(cmb10.tfm)
+BuildRequires: tex(cmex10.tfm)
+BuildRequires: tex(cmmi10.tfm)
+BuildRequires: tex(cmr10.tfm)
BuildRequires: tex(cmss10.tfm)
-BuildRequires: tex(cmss12.tfm)
-BuildRequires: tex(ecrm1000.tfm)
+BuildRequires: tex(cmsy10.tfm)
+BuildRequires: tex(cmtt10.tfm)
%description
Matplotlib is a Python 2D plotting library which produces publication
commit 107b5a1d517086a9f9cb7a5ee7fb3f9a10bb0d14
Author: Elliott Sales de Andrade <quantum.analyst(a)gmail.com>
Date: Sat Jun 20 04:48:13 2020 -0400
Sort texlive packages, by type, then name.
diff --git a/python-matplotlib.spec b/python-matplotlib.spec
index c258ee1..1b95427 100644
--- a/python-matplotlib.spec
+++ b/python-matplotlib.spec
@@ -84,15 +84,13 @@ BuildRequires: qhull-devel
BuildRequires: xorg-x11-server-Xvfb
BuildRequires: zlib-devel
+BuildRequires: tex(utf8x.def)
BuildRequires: tex(avant.sty)
-BuildRequires: tex(cmss10.tfm)
-BuildRequires: tex(cmss12.tfm)
+BuildRequires: tex(chancery.sty)
+BuildRequires: tex(charter.sty)
BuildRequires: tex(courier.sty)
-BuildRequires: tex(ecrm1000.tfm)
BuildRequires: tex(geometry.sty)
BuildRequires: tex(helvet.sty)
-BuildRequires: tex(chancery.sty)
-BuildRequires: tex(charter.sty)
BuildRequires: tex(inputenc.sty)
BuildRequires: tex(mathpazo.sty)
BuildRequires: tex(mathptmx.sty)
@@ -101,7 +99,9 @@ BuildRequires: tex(sfmath.sty)
BuildRequires: tex(textcomp.sty)
BuildRequires: tex(txfonts.sty)
BuildRequires: tex(type1ec.sty)
-BuildRequires: tex(utf8x.def)
+BuildRequires: tex(cmss10.tfm)
+BuildRequires: tex(cmss12.tfm)
+BuildRequires: tex(ecrm1000.tfm)
%description
Matplotlib is a Python 2D plotting library which produces publication
commit 8d41fb77967ae4a4b7fa048c450905ae55529266
Author: Elliott Sales de Andrade <quantum.analyst(a)gmail.com>
Date: Sat Jun 20 04:28:59 2020 -0400
Remove old file exclusions.
diff --git a/python-matplotlib.spec b/python-matplotlib.spec
index 61f737b..c258ee1 100644
--- a/python-matplotlib.spec
+++ b/python-matplotlib.spec
@@ -402,15 +402,11 @@ PYTHONDONTWRITEBYTECODE=1 \
%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/__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
commit d52452b8deba85aaefbee62f7c4fdb44bee9bcc1
Merge: 713ad40 ec400d3
Author: Elliott Sales de Andrade <quantum.analyst(a)gmail.com>
Date: Sat Jun 20 04:22:53 2020 -0400
Merge branch 'f32'
diff --cc python-matplotlib.spec
index 2812a24,e9e0ef0..61f737b
--- a/python-matplotlib.spec
+++ b/python-matplotlib.spec
@@@ -448,12 -429,9 +448,15 @@@ PYTHONDONTWRITEBYTECODE=1
%changelog
+ * Sat Jun 20 2020 Elliott Sales de Andrade <quantum.analyst(a)gmail.com> - 3.2.2-1
+ - Update to latest version
+
+* Mon Jun 01 2020 Miro Hrončok <mhroncok(a)redhat.com> - 3.2.1-2
+- Only recommend texlive-dvipng (but require it if texlive is installed) (#1509657)
+
+* Mon May 25 2020 Miro Hrončok <mhroncok(a)redhat.com> - 3.2.1-1.1
+- Rebuilt for Python 3.9
+
* Wed Mar 18 2020 Elliott Sales de Andrade <quantum.analyst(a)gmail.com> - 3.2.1-1
- Update to latest version
commit ec400d341feef0bdc3a52e05c24e150d796e90fa
Author: Elliott Sales de Andrade <quantum.analyst(a)gmail.com>
Date: Sat Jun 20 03:52:08 2020 -0400
Update patches for non-x86.
diff --git a/0001-matplotlibrc-path-search-fix.patch
b/0001-matplotlibrc-path-search-fix.patch
index 8237365..356a62c 100644
--- a/0001-matplotlibrc-path-search-fix.patch
+++ b/0001-matplotlibrc-path-search-fix.patch
@@ -1,4 +1,4 @@
-From 45f0f90c1a4d55f13c6067ef1abaa821d30b9faf Mon Sep 17 00:00:00 2001
+From 4431ff98f5f95a65378f4fa4b6e6fe02280911bf Mon Sep 17 00:00:00 2001
From: Elliott Sales de Andrade <quantum.analyst(a)gmail.com>
Date: Wed, 27 Sep 2017 19:35:59 -0400
Subject: [PATCH 1/4] matplotlibrc path search fix
@@ -107,5 +107,5 @@ index 87dfbeceb..54885da47 100644
newlines = []
for line in rclines:
--
-2.21.1
+2.25.4
diff --git a/0002-Set-FreeType-version-to-2.10.1-and-update-tolerances.patch
b/0002-Set-FreeType-version-to-2.10.1-and-update-tolerances.patch
index 1807548..69e648e 100644
--- a/0002-Set-FreeType-version-to-2.10.1-and-update-tolerances.patch
+++ b/0002-Set-FreeType-version-to-2.10.1-and-update-tolerances.patch
@@ -1,4 +1,4 @@
-From cff0aeead7f2e1b570613dbec8c67d0f715fc87e Mon Sep 17 00:00:00 2001
+From c61647b9604ce6538fa28b807d094056b005258d Mon Sep 17 00:00:00 2001
From: Elliott Sales de Andrade <quantum.analyst(a)gmail.com>
Date: Fri, 14 Feb 2020 06:05:42 -0500
Subject: [PATCH 2/4] Set FreeType version to 2.10.1 and update tolerances.
@@ -26,10 +26,10 @@ index d2bd48800..ff06bf049 100644
from matplotlib import ft2font
if (ft2font.__freetype_version__ != LOCAL_FREETYPE_VERSION or
diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
-index 93548b279..de146a527 100644
+index 75636301d..b5bfc32c3 100644
--- a/lib/matplotlib/tests/test_axes.py
+++ b/lib/matplotlib/tests/test_axes.py
-@@ -6405,7 +6405,7 @@ def test_normal_axes():
+@@ -6425,7 +6425,7 @@ def test_normal_axes():
]
for nn, b in enumerate(bbaxis):
targetbb = mtransforms.Bbox.from_bounds(*target[nn])
@@ -38,7 +38,7 @@ index 93548b279..de146a527 100644
target = [
[150.0, 119.999, 930.0, 11.111],
-@@ -6423,7 +6423,7 @@ def test_normal_axes():
+@@ -6443,7 +6443,7 @@ def test_normal_axes():
target = [85.5138, 75.88888, 1021.11, 1017.11]
targetbb = mtransforms.Bbox.from_bounds(*target)
@@ -47,7 +47,7 @@ index 93548b279..de146a527 100644
# test that get_position roundtrips to get_window_extent
axbb = ax.get_position().transformed(fig.transFigure).bounds
-@@ -6548,7 +6548,7 @@ def test_get_tightbbox_polar():
+@@ -6568,7 +6568,7 @@ def test_get_tightbbox_polar():
fig.canvas.draw()
bb = ax.get_tightbbox(fig.canvas.get_renderer())
assert_allclose(bb.extents,
@@ -102,5 +102,5 @@ index 09cd6bbd7..c3c96d4e0 100644
--
-2.21.1
+2.25.4
diff --git a/0003-Increase-tolerances-for-non-x86_64-arches.patch
b/0003-Increase-tolerances-for-non-x86_64-arches.patch
index 424bbc7..d1b485f 100644
--- a/0003-Increase-tolerances-for-non-x86_64-arches.patch
+++ b/0003-Increase-tolerances-for-non-x86_64-arches.patch
@@ -1,4 +1,4 @@
-From 8652868372a2a227091c457f1c711f2b6dd6af40 Mon Sep 17 00:00:00 2001
+From e952bc36999a141a5c026544bae0c52817d4edd9 Mon Sep 17 00:00:00 2001
From: Elliott Sales de Andrade <quantum.analyst(a)gmail.com>
Date: Tue, 23 Jan 2018 20:27:17 -0500
Subject: [PATCH 3/4] Increase tolerances for non-x86_64 arches.
@@ -38,5 +38,5 @@ index 9ed9a9280..56a3bd14a 100644
fig, ax = plt.subplots()
ax.imshow(np.zeros((10, 10)), interpolation='nearest')
--
-2.21.1
+2.25.4
diff --git a/0004-Increase-some-tolerances-for-32-bit-systems.patch
b/0004-Increase-some-tolerances-for-32-bit-systems.patch
index a70e4b5..d7004b7 100644
--- a/0004-Increase-some-tolerances-for-32-bit-systems.patch
+++ b/0004-Increase-some-tolerances-for-32-bit-systems.patch
@@ -1,4 +1,4 @@
-From 9e7be0a26644ec35dde39fb332837baab80f91cb Mon Sep 17 00:00:00 2001
+From 928df2339ec6f8cc838f2b46c4bef4b10dc66c52 Mon Sep 17 00:00:00 2001
From: Elliott Sales de Andrade <quantum.analyst(a)gmail.com>
Date: Sat, 31 Mar 2018 00:15:14 -0400
Subject: [PATCH 4/4] Increase some tolerances for 32-bit systems.
@@ -30,7 +30,7 @@ Signed-off-by: Elliott Sales de Andrade
<quantum.analyst(a)gmail.com>
22 files changed, 60 insertions(+), 70 deletions(-)
diff --git a/lib/matplotlib/testing/decorators.py b/lib/matplotlib/testing/decorators.py
-index 7d0941233..29df3f284 100644
+index cd447976b..545bf2cfe 100644
--- a/lib/matplotlib/testing/decorators.py
+++ b/lib/matplotlib/testing/decorators.py
@@ -269,7 +269,7 @@ def _pytest_image_comparison(baseline_images, extensions, tol,
@@ -56,7 +56,7 @@ index a598e822d..becc9b46d 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 de146a527..4d7a3ba47 100644
+index b5bfc32c3..8bf3afb54 100644
--- a/lib/matplotlib/tests/test_axes.py
+++ b/lib/matplotlib/tests/test_axes.py
@@ -563,7 +563,7 @@ def test_single_point():
@@ -68,7 +68,7 @@ index de146a527..4d7a3ba47 100644
def test_single_date():
# use former defaults to match existing baseline image
plt.rcParams['axes.formatter.limits'] = -7, 7
-@@ -1093,7 +1093,7 @@ def test_fill_between_interpolate():
+@@ -1097,7 +1097,7 @@ def test_fill_between_interpolate():
@image_comparison(['fill_between_interpolate_decreasing'],
@@ -77,7 +77,7 @@ index de146a527..4d7a3ba47 100644
def test_fill_between_interpolate_decreasing():
p = np.array([724.3, 700, 655])
t = np.array([9.4, 7, 2.2])
-@@ -1208,7 +1208,7 @@ def test_pcolormesh_alpha():
+@@ -1212,7 +1212,7 @@ def test_pcolormesh_alpha():
@image_comparison(['pcolormesh_datetime_axis.png'],
@@ -86,7 +86,7 @@ index de146a527..4d7a3ba47 100644
def test_pcolormesh_datetime_axis():
fig = plt.figure()
fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15)
-@@ -1234,7 +1234,7 @@ def test_pcolormesh_datetime_axis():
+@@ -1238,7 +1238,7 @@ def test_pcolormesh_datetime_axis():
@image_comparison(['pcolor_datetime_axis.png'],
@@ -95,7 +95,7 @@ index de146a527..4d7a3ba47 100644
def test_pcolor_datetime_axis():
fig = plt.figure()
fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15)
-@@ -1290,7 +1290,8 @@ def test_canonical():
+@@ -1294,7 +1294,8 @@ def test_canonical():
ax.plot([1, 2, 3])
@@ -105,7 +105,7 @@ index de146a527..4d7a3ba47 100644
def test_arc_angles():
from matplotlib import patches
# Ellipse parameters
-@@ -2749,7 +2750,7 @@ def test_boxplot_mod_artist_after_plotting():
+@@ -2769,7 +2770,7 @@ def test_boxplot_mod_artist_after_plotting():
@image_comparison(['violinplot_vert_baseline.png',
@@ -114,7 +114,7 @@ index de146a527..4d7a3ba47 100644
def test_vert_violinplot_baseline():
# First 9 digits of frac(sqrt(2))
np.random.seed(414213562)
-@@ -2766,7 +2767,7 @@ def test_vert_violinplot_baseline():
+@@ -2786,7 +2787,7 @@ def test_vert_violinplot_baseline():
showmedians=0, data=data)
@@ -123,7 +123,7 @@ index de146a527..4d7a3ba47 100644
def test_vert_violinplot_showmeans():
ax = plt.axes()
# First 9 digits of frac(sqrt(3))
-@@ -2776,7 +2777,7 @@ def test_vert_violinplot_showmeans():
+@@ -2796,7 +2797,7 @@ def test_vert_violinplot_showmeans():
showmedians=0)
@@ -132,7 +132,7 @@ index de146a527..4d7a3ba47 100644
def test_vert_violinplot_showextrema():
ax = plt.axes()
# First 9 digits of frac(sqrt(5))
-@@ -2786,7 +2787,7 @@ def test_vert_violinplot_showextrema():
+@@ -2806,7 +2807,7 @@ def test_vert_violinplot_showextrema():
showmedians=0)
@@ -141,7 +141,7 @@ index de146a527..4d7a3ba47 100644
def test_vert_violinplot_showmedians():
ax = plt.axes()
# First 9 digits of frac(sqrt(7))
-@@ -2796,7 +2797,7 @@ def test_vert_violinplot_showmedians():
+@@ -2816,7 +2817,7 @@ def test_vert_violinplot_showmedians():
showmedians=1)
@@ -150,7 +150,7 @@ index de146a527..4d7a3ba47 100644
def test_vert_violinplot_showall():
ax = plt.axes()
# First 9 digits of frac(sqrt(11))
-@@ -2807,7 +2808,7 @@ def test_vert_violinplot_showall():
+@@ -2827,7 +2828,7 @@ def test_vert_violinplot_showall():
quantiles=[[0.1, 0.9], [0.2, 0.8], [0.3, 0.7], [0.4, 0.6]])
@@ -159,7 +159,7 @@ index de146a527..4d7a3ba47 100644
def test_vert_violinplot_custompoints_10():
ax = plt.axes()
# First 9 digits of frac(sqrt(13))
-@@ -2817,7 +2818,7 @@ def test_vert_violinplot_custompoints_10():
+@@ -2837,7 +2838,7 @@ def test_vert_violinplot_custompoints_10():
showmedians=0, points=10)
@@ -168,7 +168,7 @@ index de146a527..4d7a3ba47 100644
def test_vert_violinplot_custompoints_200():
ax = plt.axes()
# First 9 digits of frac(sqrt(17))
-@@ -2827,7 +2828,7 @@ def test_vert_violinplot_custompoints_200():
+@@ -2847,7 +2848,7 @@ def test_vert_violinplot_custompoints_200():
showmedians=0, points=200)
@@ -177,7 +177,7 @@ index de146a527..4d7a3ba47 100644
def test_horiz_violinplot_baseline():
ax = plt.axes()
# First 9 digits of frac(sqrt(19))
-@@ -2837,7 +2838,7 @@ def test_horiz_violinplot_baseline():
+@@ -2857,7 +2858,7 @@ def test_horiz_violinplot_baseline():
showextrema=0, showmedians=0)
@@ -186,7 +186,7 @@ index de146a527..4d7a3ba47 100644
def test_horiz_violinplot_showmedians():
ax = plt.axes()
# First 9 digits of frac(sqrt(23))
-@@ -2847,7 +2848,7 @@ def test_horiz_violinplot_showmedians():
+@@ -2867,7 +2868,7 @@ def test_horiz_violinplot_showmedians():
showextrema=0, showmedians=1)
@@ -195,7 +195,7 @@ index de146a527..4d7a3ba47 100644
def test_horiz_violinplot_showmeans():
ax = plt.axes()
# First 9 digits of frac(sqrt(29))
-@@ -2857,7 +2858,7 @@ def test_horiz_violinplot_showmeans():
+@@ -2877,7 +2878,7 @@ def test_horiz_violinplot_showmeans():
showextrema=0, showmedians=0)
@@ -204,7 +204,7 @@ index de146a527..4d7a3ba47 100644
def test_horiz_violinplot_showextrema():
ax = plt.axes()
# First 9 digits of frac(sqrt(31))
-@@ -2867,7 +2868,7 @@ def test_horiz_violinplot_showextrema():
+@@ -2887,7 +2888,7 @@ def test_horiz_violinplot_showextrema():
showextrema=1, showmedians=0)
@@ -213,7 +213,7 @@ index de146a527..4d7a3ba47 100644
def test_horiz_violinplot_showall():
ax = plt.axes()
# First 9 digits of frac(sqrt(37))
-@@ -2878,7 +2879,7 @@ def test_horiz_violinplot_showall():
+@@ -2898,7 +2899,7 @@ def test_horiz_violinplot_showall():
quantiles=[[0.1, 0.9], [0.2, 0.8], [0.3, 0.7], [0.4, 0.6]])
@@ -222,7 +222,7 @@ index de146a527..4d7a3ba47 100644
def test_horiz_violinplot_custompoints_10():
ax = plt.axes()
# First 9 digits of frac(sqrt(41))
-@@ -2888,7 +2889,7 @@ def test_horiz_violinplot_custompoints_10():
+@@ -2908,7 +2909,7 @@ def test_horiz_violinplot_custompoints_10():
showextrema=0, showmedians=0, points=10)
@@ -231,7 +231,7 @@ index de146a527..4d7a3ba47 100644
def test_horiz_violinplot_custompoints_200():
ax = plt.axes()
# First 9 digits of frac(sqrt(43))
-@@ -3652,8 +3653,7 @@ def test_vertex_markers():
+@@ -3672,8 +3673,7 @@ def test_vertex_markers():
ax.set_ylim([-1, 10])
@@ -241,7 +241,7 @@ index de146a527..4d7a3ba47 100644
def test_eb_line_zorder():
x = list(range(10))
-@@ -4340,7 +4340,7 @@ def test_psd_noise():
+@@ -4360,7 +4360,7 @@ def test_psd_noise():
ax3.set_ylabel('')
@@ -250,7 +250,7 @@ index de146a527..4d7a3ba47 100644
def test_csd_freqs():
'''test axes.csd with sinusoidal stimuli'''
n = 10000
-@@ -5244,7 +5244,7 @@ def test_rc_spines():
+@@ -5264,7 +5264,7 @@ def test_rc_spines():
fig, ax = plt.subplots()
@@ -259,7 +259,7 @@ index de146a527..4d7a3ba47 100644
def test_rc_grid():
fig = plt.figure()
rc_dict0 = {
-@@ -5786,7 +5786,7 @@ def test_date_timezone_y():
+@@ -5806,7 +5806,7 @@ def test_date_timezone_y():
plt.plot_date([3] * 3, time_index, tz='UTC', xdate=False, ydate=True)
@@ -269,7 +269,7 @@ index de146a527..4d7a3ba47 100644
# Tests issue 5575
UTC = datetime.timezone.utc
diff --git a/lib/matplotlib/tests/test_collections.py
b/lib/matplotlib/tests/test_collections.py
-index 0983283ec..c4032f920 100644
+index 3f5b3bf1a..773573918 100644
--- a/lib/matplotlib/tests/test_collections.py
+++ b/lib/matplotlib/tests/test_collections.py
@@ -461,7 +461,7 @@ def test_EllipseCollection():
@@ -409,7 +409,7 @@ index ee67b4e41..3ae6e4ebc 100644
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 a9e8dfade..98d90eea1 100644
+index b5ca0ed5b..272fd6101 100644
--- a/lib/matplotlib/tests/test_figure.py
+++ b/lib/matplotlib/tests/test_figure.py
@@ -13,8 +13,7 @@ import numpy as np
@@ -492,7 +492,7 @@ index 508e29fa0..f6862e631 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 32ce5db1c..63abc712a 100644
+index c0eda5542..62670dbbf 100644
--- a/lib/matplotlib/tests/test_patches.py
+++ b/lib/matplotlib/tests/test_patches.py
@@ -257,8 +257,7 @@ def test_wedge_movement():
@@ -661,5 +661,5 @@ index 592096b74..69ac5a2b3 100644
fig, ax = plt.subplots(subplot_kw={"projection": "3d"})
--
-2.21.1
+2.25.4
diff --git a/0004-Increase-some-tolerances-for-non-x86-arches.patch
b/0004-Increase-some-tolerances-for-non-x86-arches.patch
index e0cf48d..c24bbf5 100644
--- a/0004-Increase-some-tolerances-for-non-x86-arches.patch
+++ b/0004-Increase-some-tolerances-for-non-x86-arches.patch
@@ -1,4 +1,4 @@
-From 8b585994418d62cde4a525f4e6a14aeba42459f4 Mon Sep 17 00:00:00 2001
+From 91ef378043f12f16a9a1f03437d9f51220dff305 Mon Sep 17 00:00:00 2001
From: Elliott Sales de Andrade <quantum.analyst(a)gmail.com>
Date: Sat, 31 Mar 2018 00:33:37 -0400
Subject: [PATCH 4/4] Increase some tolerances for non-x86 arches.
@@ -43,7 +43,7 @@ index a9409e2c1..9627b3569 100644
def test_fancyarrow_dpi_cor_200dpi():
"""
diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
-index de146a527..8574a95d2 100644
+index b5bfc32c3..a956412d1 100644
--- a/lib/matplotlib/tests/test_axes.py
+++ b/lib/matplotlib/tests/test_axes.py
@@ -407,7 +407,7 @@ def test_annotate_default_arrow():
@@ -55,7 +55,7 @@ index de146a527..8574a95d2 100644
def test_polar_annotations():
# you can specify the xypoint and the xytext in different
# positions and coordinate systems, and optionally turn on a
-@@ -3653,7 +3653,7 @@ def test_vertex_markers():
+@@ -3673,7 +3673,7 @@ def test_vertex_markers():
@image_comparison(['vline_hline_zorder', 'errorbar_zorder'],
@@ -65,12 +65,12 @@ index de146a527..8574a95d2 100644
x = list(range(10))
diff --git a/lib/matplotlib/tests/test_backends_interactive.py
b/lib/matplotlib/tests/test_backends_interactive.py
-index ad23abe3f..7b9660f2b 100644
+index 7465bb919..8300ab627 100644
--- a/lib/matplotlib/tests/test_backends_interactive.py
+++ b/lib/matplotlib/tests/test_backends_interactive.py
-@@ -104,7 +104,7 @@ fig.canvas.mpl_connect("draw_event", lambda event:
timer.start())
-
- plt.show()
+@@ -126,7 +126,7 @@ if not backend.startswith('qt5') and sys.platform ==
'darwin':
+ # not resize incorrectly.
+ assert_equal(result.getvalue(), result_after.getvalue())
"""
-_test_timeout = 10 # Empirically, 1s is not enough on Travis.
+_test_timeout = 30 # Empirically, 1s is not enough on Travis.
@@ -78,7 +78,7 @@ index ad23abe3f..7b9660f2b 100644
@pytest.mark.parametrize("backend", _get_testable_interactive_backends())
diff --git a/lib/matplotlib/tests/test_collections.py
b/lib/matplotlib/tests/test_collections.py
-index 0983283ec..1b079aff1 100644
+index 3f5b3bf1a..8c5549bad 100644
--- a/lib/matplotlib/tests/test_collections.py
+++ b/lib/matplotlib/tests/test_collections.py
@@ -439,7 +439,7 @@ def test_barb_limits():
@@ -136,7 +136,7 @@ index ee67b4e41..c52a5b0f8 100644
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 a9e8dfade..322acd41e 100644
+index b5ca0ed5b..284cccb15 100644
--- a/lib/matplotlib/tests/test_figure.py
+++ b/lib/matplotlib/tests/test_figure.py
@@ -14,7 +14,7 @@ import pytest
@@ -263,5 +263,5 @@ index 611908063..be11d7c6b 100644
# Remove this line when this test image is regenerated.
plt.rcParams['text.kerning_factor'] = 6
--
-2.21.1
+2.25.4
commit bea895839b20641d7fb2d48e3bc8e1416fc89d39
Author: Elliott Sales de Andrade <quantum.analyst(a)gmail.com>
Date: Sat Jun 20 03:06:07 2020 -0400
Update to latest version.
diff --git a/.gitignore b/.gitignore
index 921a73c..9732d93 100644
--- a/.gitignore
+++ b/.gitignore
@@ -47,3 +47,5 @@ matplotlib-1.0.0-without-gpc.tar.gz
/matplotlib-3.2.0.tar.gz
/matplotlib-3.2.0-with-freetype-2.10.1.tar.gz
/matplotlib-3.2.1.tar.gz
+/matplotlib-3.2.2.tar.gz
+/matplotlib-3.2.2-with-freetype-2.10.1.tar.gz
diff --git a/0001-Use-packaged-jquery-and-jquery-ui.patch
b/0001-Use-packaged-jquery-and-jquery-ui.patch
index 92ccaf2..801f520 100644
--- a/0001-Use-packaged-jquery-and-jquery-ui.patch
+++ b/0001-Use-packaged-jquery-and-jquery-ui.patch
@@ -1,4 +1,4 @@
-From 0ffab3ff58bee5346b9443a8b769d9786aba3b26 Mon Sep 17 00:00:00 2001
+From a3fec73e39558f1a8d41663fe05783889e735af4 Mon Sep 17 00:00:00 2001
From: Elliott Sales de Andrade <quantum.analyst(a)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(a)gmail.com>
---
.../backends/web_backend/all_figures.html | 6 +--
.../backends/web_backend/single_figure.html | 6 +--
- setup.py | 53 -------------------
- 3 files changed, 6 insertions(+), 59 deletions(-)
+ setup.py | 54 -------------------
+ 3 files changed, 6 insertions(+), 60 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 760e84af1..2b184749f 100644
+index bf03159fb..81c2f96d7 100644
--- a/setup.py
+++ b/setup.py
-@@ -26,8 +26,6 @@ from zipfile import ZipFile
+@@ -28,8 +28,6 @@ from zipfile import ZipFile
from setuptools import setup, find_packages, Extension
from setuptools.command.build_ext import build_ext as BuildExtCommand
@@ -57,7 +57,7 @@ index 760e84af1..2b184749f 100644
from setuptools.command.test import test as TestCommand
# The setuptools version of sdist adds a setup.cfg file to the tree.
-@@ -115,57 +113,6 @@ cmdclass['test'] = NoopTestCommand
+@@ -120,58 +118,6 @@ cmdclass['test'] = NoopTestCommand
cmdclass['build_ext'] = BuildExtraLibraries
@@ -79,8 +79,9 @@ index 760e84af1..2b184749f 100644
- try:
- buff = download_or_cache(url, sha)
- except Exception:
-- raise IOError(f"Failed to download jquery-ui. Please download "
-- f"{url} and extract it to {dest}.")
+- raise IOError(
+- "Failed to download jquery-ui. Please download "
+- "{url} and extract it to {dest}.".format(url=url, dest=dest))
- with ZipFile(buff) as zf:
- zf.extractall(dest)
-
@@ -116,5 +117,5 @@ index 760e84af1..2b184749f 100644
# however, this is needed on Windows to avoid creating infinite subprocesses
# when using multiprocessing.
--
-2.21.0
+2.25.4
diff --git a/python-matplotlib.spec b/python-matplotlib.spec
index 40c0be7..e9e0ef0 100644
--- a/python-matplotlib.spec
+++ b/python-matplotlib.spec
@@ -37,13 +37,13 @@
#global rctag rc2
# Updated test images for new FreeType.
-%global mpl_images_version 3.2.0
+%global mpl_images_version 3.2.2
# The version of FreeType in this Fedora branch.
%global ftver 2.10.1
Name: python-matplotlib
-Version: 3.2.1
+Version: 3.2.2
Release: 1%{?rctag:.%{rctag}}%{?dist}
Summary: Python 2D plotting library
# qt4_editor backend is MIT
@@ -429,6 +429,9 @@ PYTHONDONTWRITEBYTECODE=1 \
%changelog
+* Sat Jun 20 2020 Elliott Sales de Andrade <quantum.analyst(a)gmail.com> - 3.2.2-1
+- Update to latest version
+
* Wed Mar 18 2020 Elliott Sales de Andrade <quantum.analyst(a)gmail.com> - 3.2.1-1
- Update to latest version
diff --git a/sources b/sources
index 864b76e..5596ced 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-SHA512 (matplotlib-3.2.1.tar.gz) =
2725ebb2e3665f3f110354efab6a6ec20721667acbaf1dc22a9396dbdca096edaabe79b0e602970b1c0769a5eb849cd815774af00a366f3d4e2f336bce06208e
-SHA512 (matplotlib-3.2.0-with-freetype-2.10.1.tar.gz) =
5fefa148dae612b431bbf1430f93df20f3cfc06f01db072148893bf067f1fab5c9944575a3d1a587fe7d44b17fb755f4532bf61dfdb7fc64b2fd7821f9fa12ac
+SHA512 (matplotlib-3.2.2.tar.gz) =
4c9312e929357a7c73ead51fa1a679c04b2b9735edfe0f1a2d08a07ec4d94d67df4ff6e8c6d594665a3b270cd3033c48ea8f2aa50fb1e2746812f24c27181f59
+SHA512 (matplotlib-3.2.2-with-freetype-2.10.1.tar.gz) =
498fb1224f74c5254e3a2620d4d36571ed712a7ac261bcb4b2a548ea57d6b7431634dfad547b529d6fa1a3fab90e6b489150afe815485a3030d1e899edfd9be8